نماذج AngularJS
توفر النماذج في AngularJS ربط البيانات والتحقق من ضوابط الإدخال.
ضوابط الإدخال
عناصر التحكم في الإدخال هي عناصر إدخال HTML:
- عناصر الإدخال
- حدد العناصر
- عناصر الزر
- عناصر textarea
ربط البيانات
توفر عناصر التحكم في الإدخال ربط البيانات باستخدام
ng-model
التوجيه.
<input type="text" ng-model="firstname">
التطبيق لديه الآن خاصية مسماة firstname
.
التوجيه يربط ng-model
وحدة تحكم الإدخال لبقية التطبيق الخاص بك.
firstname
يمكن الإشارة إلى الخاصية في وحدة تحكم:
مثال
<script>
var app = angular.module('myApp', []);
app.controller('formCtrl',
function($scope) {
$scope.firstname = "John";
});
</script>
يمكن أيضًا الإشارة إليه في مكان آخر في التطبيق:
مثال
<form>
First Name: <input type="text" ng-model="firstname">
</form>
<h1>You entered: {{firstname}}</h1>
خانة اختيار
مربع الاختيار له القيمة true
أو false
. قم
ng-model
بتطبيق التوجيه على مربع اختيار ، واستخدم قيمته في التطبيق الخاص بك.
مثال
أظهر العنوان إذا تم تحديد خانة الاختيار:
<form>
Check to show a header:
<input type="checkbox" ng-model="myVar">
</form>
<h1 ng-show="myVar">My
Header</h1>
أزرار الراديو
اربط أزرار الاختيار بالتطبيق الخاص بك باستخدام ng-model
التوجيه.
يمكن أن تحتوي أزرار الاختيار التي لها نفس ng-model
القيم على قيم مختلفة ، ولكن سيتم استخدام الزر المحدد فقط.
مثال
عرض بعض النصوص بناءً على قيمة زر الاختيار المحدد:
<form>
Pick a topic:
<input type="radio" ng-model="myVar"
value="dogs">Dogs
<input type="radio" ng-model="myVar" value="tuts">Tutorials
<input type="radio" ng-model="myVar" value="cars">Cars
</form>
ستكون قيمة myVar إما dogs
، tuts
أو
cars
.
خانة الاختيار
ربط مربعات التحديد بالتطبيق الخاص بك مع ng-model
التوجيه.
الخاصية المحددة في ng-model
السمة سيكون لها قيمة الخيار المحدد في خانة الاختيار.
مثال
عرض بعض النصوص بناءً على قيمة الخيار المحدد:
<form>
Select a topic:
<select ng-model="myVar">
<option value="">
<option value="dogs">Dogs
<option value="tuts">Tutorials
<option
value="cars">Cars
</select>
</form>
ستكون قيمة myVar إما dogs
، tuts
أو
cars
.
مثال على نموذج AngularJS
النموذج = {"firstName": "John"، "lastName": "Doe"}
master = {"firstName": "John"، "lastName": "Doe"}
كود التطبيق
<div ng-app="myApp" ng-controller="formCtrl">
<form
novalidate>
First Name:<br>
<input type="text" ng-model="user.firstName"><br>
Last
Name:<br>
<input type="text" ng-model="user.lastName">
<br><br>
<button ng-click="reset()">RESET</button>
</form>
<p>form = {{ user}}</p>
<p>master = {{ master}}</p>
</div>
<script>
var app =
angular.module('myApp', []);
app.controller('formCtrl',
function($scope) {
$scope.master = {firstName: "John", lastName: "Doe"};
$scope.reset = function() {
$scope.user
= angular.copy($scope.master);
};
$scope.reset();
});
</script>
سمة novalidate جديدة في HTML5. يقوم بتعطيل أي تحقق افتراضي للمتصفح.
شرح المثال
يحدد التوجيه ng-app تطبيق AngularJS.
يحدد التوجيه ng-controller وحدة التحكم في التطبيق.
يربط التوجيه ng-model عنصرين من عناصر الإدخال بكائن المستخدم في النموذج.
تحدد وحدة التحكم formCtrl القيم الأولية للكائن الرئيسي ، وتحدد طريقة إعادة التعيين () .
يعين أسلوب إعادة التعيين () كائن المستخدم مساويًا للكائن الرئيسي .
يستدعي توجيه ng-click طريقة reset () ، فقط إذا تم النقر فوق الزر.
سمة novalidate غير مطلوبة لهذا التطبيق ، ولكنك ستستخدمها عادةً في نماذج AngularJS ، لتجاوز التحقق القياسي من HTML5.