AngularJS基础学习笔记之指令
AngularJS通过指令将HTML属性进行了扩展。
AngularJS指令
AngularJS指令是带有ng-前缀的扩展HTML属性。
ng-app指令用来初始化AngularJSapplication。
ng-init指令用来初始化application数据。
ng-model指令用来将HTML控件(如input,select,textarea等)的值绑定到application数据。
<divng-app=""ng-init="firstName='John'"> <p>Name:<inputtype="text"ng-model="firstName"></p> <p>Youwrote:{{firstName}}</p> </div>
ng-app指令同时也告诉AngularJS,它所在的<div>元素是AngularJSapplication的根元素,即作用域。
数据绑定
在上面的示例中,{{firstName}}是一个AngularJS数据绑定表达式。
在AngularJS数据绑定中,AngularJS表达式使用AngularJS数据进行同步更新。
{{firstName}}通过ng-model="firstName"同步更新数据。
<divng-app=""ng-init="quantity=1;price=5"> Quantity:<inputtype="number"ng-model="quantity"> Costs:<inputtype="number"ng-model="price"> Totalindollar:{{quantity*price}} </div>
Note 使用ng-init指令在AngularJS开发中非常普遍。在控制器一节中你将会看到更好的初始化数据的方法。
重复HTML元素
ng-repeat指令用来重复创建一个HTML元素:
<divng-app=""ng-init="names=['Jani','Hege','Kai']"> <ul> <ling-repeat="xinnames"> {{x}} </li> </ul> </div>
在对象数组上使用ng-repeat指令:
<divng-app=""ng-init="names=[ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'}]"> <ul> <ling-repeat="xinnames"> {{x.name+','+x.country}} </li> </ul> </div>
Note AngularJS非常适合数据库CRUD(即创建,读取,更新和删除)操作。想象一下,如果这些对象来自于数据库呢?
ng-app指令
ng-app指令定义了AngularJSapplication的根元素。
当Web页面加载完成后,ng-app指令将auto-bootstrap(自动初始化)application。即自动初始化并引导AngularJSapplication执行。
在后面的章节中你将会学习到如何给ng-app指令指定一个值(例如ng-app="myModule"),从而与模块联系起来。
ng-init指令
ng-init指令用于为AngularJSapplication初始化值。
一般情况下不需要使用ng-init指令,而是使用控制器或者模块来进行初始化工作。
在后面的章节中你将会学习到有关控制器和模块的相关内容。
ng-model指令
ng-model指令用来将HTML控件(如input,select,textarea等)的值绑定到application数据。
ng-model指令还可以用来:
提供数据验证(如验证数字,email地址,必填项)。
提供数据的状态(如invalid,dirty,touched,error)。
为HTML元素提供CSS样式类。
将HTML元素绑定到HTML表单。
ng-repeat指令
ng-repeat指令用来为数据集合(或者数组)中的每一个元素生成一个对应的HTML元素。
以上所述就是本文的全部内容了,希望大家能够喜欢。