AngularJS 指令

导语 AngularJS 指令AngularJS 通过被称为 指令 的新属性来扩展 HTML。AngularJS 通过内置的指令来为应用添加功能。AngularJS 允许你自定义指令。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有前
AngularJS 指令
AngularJS 通过被称为 指令 的新属性来扩展 HTML
AngularJS 通过内置的指令来为应用添加功能。
AngularJS 允许你自定义指令。
AngularJS 指令
AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。
ng-app 指令初始化一个 AngularJS 应用程序。
ng-init 指令初始化应用程序数据。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
完整的指令内容可以参阅 AngularJS 参考手册。
AngularJS 实例
  1. <div ng-app="" ng-init="firstName='John'"> 
  2.  
  3.   <p>在输入框中尝试输入:</p> 
  4.   <p>姓名:<input type="text" ng-model="firstName"></p> 
  5.   <p>你输入的为: {{ firstName }}</p> 
  6.  
  7. </div> 
 
ng-app 指令告诉 AngularJS,<div> 元素是 AngularJS 应用程序 的"所有者"。
Note 一个网页可以包含多个运行在不同元素中的 AngularJS 应用程序。
数据绑定
上面实例中的 {{ firstName }} 表达式是一个 AngularJS 数据绑定表达式。
AngularJS 中的数据绑定,同步了 AngularJS 表达式与 AngularJS 数据。
{{ firstName }} 是通过 ng-model="firstName" 进行同步。
在下一个实例中,两个文本域是通过两个 ng-model 指令同步的:
AngularJS 实例
  1. <div ng-app="" ng-init="quantity=1;price=5"> 
  2.  
  3. <h2>价格计算器</h2> 
  4.  
  5.  数量:<input type="number" ng-model="quantity"> 
  6.  价格:<input type="number" ng-model="price"> 
  7.  
  8. <p><b>总价:</b> {{ quantity * price }}</p> 
  9.  
  10. </div> 
 
重复 HTML 元素
ng-repeat 指令会重复一个 HTML 元素:
AngularJS 实例
  1. <div ng-app="" ng-init="names=['Jani','Hege','Kai']"> 
  2.   <p>使用 ng-repeat 来循环数组</p> 
  3.   <ul> 
  4.     <li ng-repeat="x in names"> 
  5.       {{ x }} 
  6.     </li> 
  7.   </ul> 
  8. </div> 
 
ng-repeat 指令用在一个对象数组上:
AngularJS 实例
  1. <div ng-app="" ng-init="names=[ 
  2. {name:'Jani',country:'Norway'}, 
  3. {name:'Hege',country:'Sweden'}, 
  4. {name:'Kai',country:'Denmark'}]"> 
  5.  
  6. <p>循环对象:</p> 
  7. <ul> 
  8.   <li ng-repeat="x in names"> 
  9.     {{ x.name + ', ' + x.country }} 
  10.   </li> 
  11. </ul> 
  12.  
  13. </div> 
 
Note AngularJS 完美支持数据库的 CRUD(增加Create、读取Read、更新Update、删除Delete)应用程序。
把实例中的对象想象成数据库中的记录。
ng-app 指令
ng-app 指令定义了 AngularJS 应用程序的 根元素。
ng-app 指令在网页加载完毕时会自动引导(自动初始化)应用程序。
稍后您将学习到 ng-app 如何通过一个值(比如 ng-app="myModule")连接到代码模块。
ng-init 指令
ng-init 指令为 AngularJS 应用程序定义了 初始值。
通常情况下,不使用 ng-init。您将使用一个控制器或模块来代替它。
稍后您将学习更多有关控制器和模块的知识。
ng-model 指令
ng-model 指令 绑定 HTML 元素 到应用程序数据。
ng-model 指令也可以:
为应用程序数据提供类型验证(number、email、required)。
为应用程序数据提供状态(invalid、dirty、touched、error)。
为 HTML 元素提供 CSS 类。
绑定 HTML 元素到 HTML 表单。
ng-repeat 指令
ng-repeat 指令对于集合中(数组中)的每个项会 克隆一次 HTML 元素。
 
创建自定义的指令
除了 AngularJS 内置的指令外,我们还可以创建自定义指令。
你可以使用 .directive 函数来添加自定义的指令。
要调用自定义指令,HTMl 元素上需要添加自定义指令名。
使用驼峰法来命名一个指令, moonDirective, 但在使用它时需要以 - 分割, runoob-directive:
AngularJS 实例
  1. <body ng-app="myApp"> 
  2.  
  3. <moon-directive></moon-directive> 
  4.  
  5. <script> 
  6. var app = angular.module("myApp", []); 
  7. app.directive("moonDirective", function() { 
  8.     return { 
  9.         template : "<h1>自定义指令!</h1>
  10.     }; 
  11. }); 
  12. </script> 
  13.  
  14. </body> 
 
你可以通过以下方式来调用指令:
元素名  属性  类名  注释
以下实例方式也能输出同样结果:
元素名
<moon-directive></moon-directive>
属性
<div moon-directive></div>
类名
<div class="moon-directive"></div>
注释
<!-- 指令: moon-directive -->
 
限制使用
你可以限制你的指令只能通过特定的方式来调用。
实例
通过添加 restrict 属性,并设置只值为 "A", 来设置指令只能通过属性的方式来调用:
  1. var app = angular.module("myApp", []); 
  2. app.directive("moonDirective"function() { 
  3.     return { 
  4.         restrict : "A"
  5.         template : "<h1>自定义指令!</h1>" 
  6.     }; 
  7. }); 
restrict 值可以是以下几种:
E 只限元素名使用
A 只限属性使用
C 只限类名使用
M 只限注释使用
restrict 默认值为 EA, 即可以通过元素名和属性名来调用指令。
http://www.aseoe.com/ true AngularJS 指令 http://www.aseoe.com/show-69-781-1.html report 7716.5 AngularJS 指令AngularJS 通过被称为 指令 的新属性来扩展 HTML。AngularJS 通过内置的指令来为应用添加功能。AngularJS 允许你自定义指令。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有前
TAG:AngularJS 指令
本站欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-69-781-1.html

[前端插件推荐] Plugin

1 2 3 4
  • jQuery实现逐字逐句显示插件l-by-l.min.js
  • jQuery带方向感知的鼠标滑过图片边框特效插件
  • jQuery HotKeys监听键盘按下事件keydown插件
  • 响应式无限轮播jQuery旋转木马插件
响应式无限轮播jQuery旋转木马插件
web前端开发
爱思资源网 Copyright 2012-2014 Www.Aseoe.Com All rights reserved.(晋ICP备13001436号-1)