您的位置:首页 > Web前端 > AngularJS

AngularJS快速入门指南04:指令

2015-05-08 15:12 525 查看
  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>


运行


使用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>


运行


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元素。

上一章 - AngularJS快速入门指南03:表达式
下一章 - AngularJS快速入门指南05:控制器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: