分享人:张智
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
AngularJS 通过被称为"指令(directive)"的新属性来扩展 HTML。 AngularJS 有许多内置的指令来为应用添加功能 通俗点说就是 AngularJS 将指令与DOM绑定在一起,再扩展指令的行为,最后实现修改HTML的功能
类似css的类名一样,是属于这个DOM元素的。
AngularJS 的内置指令均有ng-前缀
ng-if 指令用于在表达式为 false 时移除 HTML 元素,在表达式为 true 时添加 HTML 元素
ng-if 的格式 这里区别于ng-show和ng-hide,ng-if会直接在DOM树中添加或者删除节点,而前面两个只会显示隐藏
ng-class指令用于给HTML元素动态绑定一个或多个CSS类。 ng-class指令的值可以是字符串,对象,或一个数组。 如果是字符串,多个类名使用空格分隔。 如果是对象,需要使用key-value对,key为你想要添加的类名,value是一个布尔值。只有在value为true时类才会被添加。 如果是数组,可以由字符串或对象组合组成,数组的元素可以是字符串或对象。
ng-options指令用于使用 options填充select元素的选项。 ng-options属性可以在表达式中使用数组或对象来自动生成一个select中的option列表。 ng-options与ng-repeat很相似,很多时候可以用ng-repeat来代替ng-options。 但是ng-options提供了一些好处,例如减少内存提高速度,以及提供选择框的选项来让用户选择。
ng-value 指令用于设置 input 或 select 元素的 value 属性 这里有几个结论: 1.ng-value会赋值给value,并且优先于ng-model 2.ng-value不是双向绑定,不会因为value的值改变 可以把ng-value就当成一个可以用给input等元素的value赋值的属性
ng-click指令告诉了AngularJS HTML元素被点击后需要执行的操作。 如果是使用ng-click来实现函数的执行的话,还可以进行传参。 一个ng-click可以触发多个操作,
ng-class-odd和ng-class-even如何使用
ng-class-odd指令用于为HTML元素动态的绑定一个或多个CSS类,但只作用于奇数行。 ng-class-even指令用于为HTML元素动态的绑定一个或多个CSS类,但只作用于偶数行。 需要与ng-repeat指令搭配使用。建议用在表格的样式渲染中,但是所有HTML元素都是支持的。
ng-if指令会创建一个子级作用域,因此,如果在ng-if指令中添加了元素,并向元素属性增加ng-model指令, 那么ng-model指令对应的作用域属性子级作用域,而并非控制器注入的scope作用域对象,这点在进行双向数据绑定时, 需要引起2意。因此,解决ng-if中ng-model值无效的问题,主要方法就是在绑定值时添加parent标识,或者用ng-show指令代替ng-if指令,这两种方法都可以达到同样的页面效果。 写法如下:ng-model=”$parent.industry”
参考一: 菜鸟教程
参考二: angular内置指令
感谢大家观看
BY : 张智