Manual Rujukan Cina AngularJS
/ AngularJS 模型
AngularJS 模型
ng-model 指令用于綁定應(yīng)用程序數(shù)據(jù)到 HTML 控制器(input, select, textarea)的值。
ng-model 指令
ng-model
指令可以將輸入域的值與 AngularJS 創(chuàng)建的變量綁定。
實例
<!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"> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.name = "John Doe"; }); </script> <p>使用 ng-model 指令來綁定輸入域的值到控制器的屬性。</p> </body> </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="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 Doe"; }); </script> <p>修改輸入框的值,標(biāo)題的名字也會相應(yīng)修改。</p> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
驗證用戶輸入
實例
<!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> <p>在輸入框中輸入你的郵箱地址,如果不是一個合法的郵箱地址,會彈出提示信息。</p> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
以上實例中,提示信息會在 ng-show
屬性返回 true
的情況下顯示。
應(yīng)用狀態(tài)
ng-model
指令可以為應(yīng)用數(shù)據(jù)提供狀態(tài)值(invalid,
dirty, touched, error):
實例
<!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" ng-init="myText = 'test@php.cn'"> Email: <input type="email" name="myAddress" ng-model="myText" required> <p>編輯郵箱地址,查看狀態(tài)的改變。</p> <h1>狀態(tài)</h1> <p>Valid: {{myForm.myAddress.$valid}} (如果輸入的值是合法的則為 true)。</p> <p>Dirty: {{myForm.myAddress.$dirty}} (如果值改變則為 true)。</p> <p>Touched: {{myForm.myAddress.$touched}} (如果通過觸屏點擊則為 true)。</p> </form> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
CSS 類
ng-model
指令基于它們的狀態(tài)為 HTML 元素提供了 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> <style> input.ng-invalid { background-color: lightblue; } </style> </head> <body> <form ng-app="" name="myForm"> 輸入你的名字: <input name="myName" ng-model="myText" required> </form> <p>編輯文本域,不同狀態(tài)背景顏色會發(fā)送變化。</p> <p>文本域添加了 required 屬性,該值是必須的,如果為空則是不合法的。</p> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
ng-model
指令根據(jù)表單域的狀態(tài)添加/移除以下類:
ng-empty
ng-not-empty
ng-touched
ng-untouched
ng-valid
ng-invalid
ng-dirty
ng-pending
ng-pristine