AngularJS基础学习笔记之指令
angularjs通过指令将html属性进行了扩展。
angularjs指令
angularjs指令是带有ng-前缀的扩展html属性。
ng-app指令用来初始化angularjs application。
ng-init指令用来初始化application数据。
ng-model指令用来将html控件(如input,select,textarea等)的值绑定到application数据。
<div ng-app="" ng-init="firstname='john'"> <p>name: <input type="text" ng-model="firstname"></p> <p>you wrote: {{ firstname }}</p> </div>
ng-app指令同时也告诉angularjs,它所在的<div>元素是angularjs application的根元素,即作用域。
数据绑定
在上面的示例中,{{ firstname }}是一个angularjs数据绑定表达式。
在angularjs数据绑定中,angularjs表达式使用angularjs数据进行同步更新。
{{ firstname }}通过ng-model="firstname"同步更新数据。
<div ng-app="" ng-init="quantity=1;price=5"> quantity: <input type="number" ng-model="quantity"> costs: <input type="number" ng-model="price"> total in dollar: {{ quantity * price }} </div>
note 使用ng-init指令在angularjs开发中非常普遍。在控制器一节中你将会看到更好的初始化数据的方法。
重复html元素
ng-repeat指令用来重复创建一个html元素:
<div ng-app="" ng-init="names=['jani','hege','kai']"> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul> </div>
在对象数组上使用ng-repeat指令:
<div ng-app="" ng-init="names=[ {name:'jani',country:'norway'}, {name:'hege',country:'sweden'}, {name:'kai',country:'denmark'}]"> <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div>
note angularjs非常适合数据库crud(即创建,读取,更新和删除)操作。想象一下,如果这些对象来自于数据库呢?
ng-app指令
ng-app指令定义了angularjs application的根元素。
当web页面加载完成后,ng-app指令将auto-bootstrap(自动初始化)application。即自动初始化并引导angularjs application执行。
在后面的章节中你将会学习到如何给ng-app指令指定一个值(例如ng-app="mymodule"),从而与模块联系起来。
ng-init指令
ng-init指令用于为angularjs application初始化值。
一般情况下不需要使用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元素。
以上所述就是本文的全部内容了,希望大家能够喜欢。