相關閱讀:
AngularJS入門教程之AngularJS表達式
AngularJS入門教程之AngularJS指令
在前面表達式和指令的教程中了解到,AngularJS模型(ng-model)可以將HTML輸入域中的值與AngularJS創建的變量綁定。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="" ng-init="name='Jone Snow'"> 名字: <input ng-model="name"> </div> </body> </html>
雙向綁定 AngularJS的雙向綁定, 是指ng-model與HTML的輸入域綁定,同時也與AngularJS的屬性綁定,所以當輸入域的值改變的時候,AngularJS的屬性值也會改變。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="myApp" ng-controller="myCtrl"> 名字: <input ng-model="name"> <h1>你輸入了: {{name}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.name = "John Snow"; }); </script> <p>修改輸入框的值,標題的名字也會相應修改。</p> </body> </html>
應用狀態 ng-model 指令可以為應用數據提供狀態值
dirty 當數據被修改時狀態為TRUE,沒有被修改過為FALSE。即使修改為原來的值,也為TRUE。
valid 輸入值合法時為TRUE,不合法則為FALSE。
touched 通過觸屏點擊為TRUE,沒有點擊為FALSE。
根據狀態來應用CSS樣式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <style> input.ng-invalid { background-color: lightblue; } </style> <body> <form ng-app="" name="myForm"> 輸入你的名字: <input name="myAddress" ng-model="text" required> </form> </body> </html>
input域增加了required狀態,當input域沒有輸入時,ng-model為input域增加ng-invalid樣式。反之則刪除ng-invalid樣式。 ng-model 指令根據表單域的狀態添加/移除以下樣式: - ng-empty - ng-not-empty - ng-touched - ng-untouched - ng-valid - ng-invalid - ng-dirty - ng-pending - ng-pristine 使用ng-model驗證郵箱格式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <form ng-app="" name="myForm"> Email: <input type="email" name="myAddress" ng-model="text"> <span ng-show="myForm.myAddress.$error.email">不是一個合法的郵箱地址</span> </form> </body> </html>
myForm.myAddress.$error.email屬性為TRUE(郵箱格式不正確)時,ng-show會控制span的內容顯示出來。
以上內容是小編給大家介紹的AngularJS入門教程之AngularJS模型,希望對大家有所幫助!