نماذج 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.