關(guān)聯(lián)目錄索引:
重溫AngularJS(一)-- 表達(dá)式撵溃、指令
重溫AngularJS(二)-- 模型ng-model指令
重溫AngularJS(三)-- Scope(作用域)
重溫AngularJS(四)-- 控制器ng-controller
重溫AngularJS(五)-- 過(guò)濾器
重溫AngularJS(六)-- 服務(wù)Service
重溫AngularJS(七)-- Select(選擇框)锥累、表格
重溫AngularJS(八)-- 事件
重溫AngularJS(九)-- 模塊桶略、全局API
重溫AngularJS(十)-- 表單诲宇、輸入驗(yàn)證
重溫AngularJS(十一)-- 包含姑蓝、動(dòng)畫(huà)
重溫AngularJS(十二)-- 依賴(lài)注入(5個(gè)核心組件)
重溫AngularJS(十三)-- 路由
作者:Zyao89吕粗;轉(zhuǎn)載請(qǐng)保留此行,謝謝宙暇;
ng-model 指令用于綁定應(yīng)用程序數(shù)據(jù)到 HTML 控制器(input, select, textarea)的值占贫。
ng-model 指令
ng-model 指令可以將輸入域的值與 AngularJS 創(chuàng)建的變量綁定。
<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>
雙向綁定
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.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)題的名字也會(huì)相應(yīng)修改碉京。</p>
</body>
</html>
驗(yàn)證用戶(hù)輸入
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.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">不是一個(gè)合法的郵箱地址</span>
</form>
<p>在輸入框中輸入你的郵箱地址收夸,如果不是一個(gè)合法的郵箱地址,會(huì)彈出提示信息卧惜。</p>
</body>
</html>
★應(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="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<form ng-app="" name="myForm" ng-init="myText = 'test@runoob.com'">
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}} (如果通過(guò)觸屏點(diǎn)擊則為 true)奋姿。</p>
</form>
</body>
</html>
CSS 類(lèi)
ng-model 指令基于它們的狀態(tài)為 HTML 元素提供了 CSS 類(lèi):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<style>
input.ng-invalid {
background-color: red;
}
</style>
</head>
<body>
<form ng-app="" name="myForm">
輸入你的名字:
<input name="myName" ng-model="myText" required>
</form>
<p>編輯文本域称诗,不同狀態(tài)背景顏色會(huì)發(fā)送變化头遭。</p>
<p>文本域添加了 required 屬性癣诱,該值是必須的撕予,如果為空則是不合法的实抡。</p>
</body>
</html>
ng-model 指令根據(jù)表單域的狀態(tài)添加/移除以下類(lèi):
- ng-empty
- ng-not-empty
- ng-touched
- ng-untouched
- ng-valid
- ng-invalid
- ng-dirty
- ng-pending
- ng-pristine