ng-model 指令将HTML 控制器(input, select, textarea)的值 和 应用程序数据进行绑定。
ng-model 指令
ng-model
指令可以将输入域的值与 AngularJS 创建的变量绑定。
名字:使用 ng-model 指令来绑定输入域的值到控制器的属性。
双向绑定
双向绑定,在修改输入域的值时, AngularJS 属性的值也将修改。
可以看到,它是实时同步更新的。input中每输入一个字,它就立刻同步到数据模型,这是因为每次输入input,都会触发一个input的事件。然后 angular就会执行的$digest循环,直到模型稳定下来。我们不用手动设置任何事件监听来同步更新视图和模型,这样很赞,这就是angular的目的。
名字:你输入了: { {name}}
修改输入框的值,标题的名字也会相应修改。
验证用户输入
在输入框中输入你的邮箱地址,如果不是一个合法的邮箱地址,会弹出提示信息。
以上实例中,提示信息会在 ng-show
属性返回 true
的情况下显示。
应用状态
ng-model
指令可以为应用数据提供状态值(invalid, dirty, touched, error):
CSS 类
ng-model
指令基于它们的状态为 HTML 元素提供了 CSS 类:
编辑文本域,不同状态背景颜色会发送变化。
文本域添加了 required 属性,该值是必须的,如果为空则是不合法的。
ng-model
指令根据表单域的状态添加/移除以下类:
- ng-empty
- ng-not-empty
- ng-touched
- ng-untouched
- ng-valid
- ng-invalid
- ng-dirty
- ng-pending
- ng-pristine