angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?

大家好,我是IT修真院郑州分院第七期的学员,一枚正直纯洁善良的WEB程序员今天给大家分享一下,题目angular js常用指令ng-if,ng-class,ng-option,ng-值,NG单击是如何使用的?

一,背景介绍

指令是一个Dom元素上的标签(和元素上的属性,CSS类样式一样,属于这个Dom元素),它告诉AngualrJS的HTML编译器,去附加一个行为到这个Dom元素上去,这个行为可以改变这个Dom元素,或者这个大教堂元素的子元素。

AngularJS通过被称为指令的新属性来扩展HTML.AngularJS通过内置的指令来为应用添加功能.AngularJS内置指令是扩展的HTML属性,带有前缀ng-。

二,知识剖析

NG-如果纳克级,NG选项,NG-值,NG单击是如何使用的?

NG-IF
ng-if指令用于在表达式为虚时移除HTML元素。
如果ng-if语句执行的结果为true,会添加HTML元素,并显示
.ng-if指令不同于ng-hide / ng -show,ng-hide / ng-show是隐藏元素,设置元素的显示为无。而ng-if是从DOM中移除元素.ng
-hide指令在表达式为真时隐藏指定的HTML元素。

ng-show指令在表达式为真时显示指定的HTML元素。

NG-CLASS
ng-class 指令用于给 HTML 元素动态绑定一个或多个 CSS 类。
ng-class 指令的值可以是字符串,对象,或一个数组。
如果是字符串,多个类名使用空格分隔。
如果是对象,需要使用 key-value 对,key 为你想要添加的类名,value 是一个布尔值。只有在 value 为 true 时类才会被添加。
如果是数组,可以由字符串或对象组合组成,数组的元素可以是字符串或对象。

NG-OPTION
ng-options 指令用于使用options填充select元素的选项。

ng-options属性可以在表达式中使用数组或对象来自动生成一个select中的option列表。 ng-options与ng-repeat很相似,很多时候可以用ng-repeat来代替ng-options。 但是ng-options提供了一些好处,例如减少内存提高速度,以及提供选择框的选项来让用户选择。

NG-VALUE
ng-value 指令用于设置 input 或 select 元素的 value 属性。和value相比,它的值可以是表达式,所以相比之下可以实现更多需求。

比如当需要使用ng-repeat来动态生成input[]的时候,ngValue是很有用处的。

NG-CLICK
ng-click 指令告诉了 AngularJS HTML 元素被点击后需要执行的操作。
如果是使用ng-click来实现函数的执行的话,还可以进行传参。

一个ng-click可以触发多个操作

三、常见问题

ng-option表达式的写法

四、解决方案

NG-OPTION表达式的写法
1、数组作为数据源
用数组中的值做标签。(label for value in array)
用数组中的值作为选中的标签。(select as label for value in array)
用数组中的值做标签组。(label group by group for value in array)

用数组中的值作为选中的标签组。(select as label group by group for value in array track by trackexpr)

2、对象作为数据源
用对象的键-值(key-value)做标签。(label for (key , value) in object)
用对象的键-值作为选中的标签。(select as label for (key , value) in object)
用对象的键-值作为标签组。(label group by group for (key, value) in object)

用对象的键-值作为选中的标签组。(select as label group by group for (key, value) in ob)

ng-options的值可以是一个内涵表达式(comprehension expression), 其实这只是一种有趣的说法,简单来说就是它可以接收一个数组或者对象, 并对它们进行循环,将内部的内容提供给select标签内部的选项。ng-options属性可用于使用通过评估理解表达式获得的数组或对象来动态生成option 元素的select元素。

五、编码实战

腾讯视频

六、拓展思考

七、参考文献

ng-class用法

angular之ng-value指令

ng-select和ng-options

八、更多讨论

用angularJS的NG-模型绑定到选择上,会自动增加一个数值为空的选项,这是为什么?

原因:ng-model没有初始化导致的,如果ng-model所绑定的变量的值在ng-options绑定的值里面有,下拉选框中就不会有空白的一项,选中别的数据项以后消失;如果ng-model所绑定的变量的值不在ng-options绑定的值里面,下拉选框中就不会有空白一项,并且只有当ng-options绑定的值里有对应的文本为空行时,这个空行才会一直存在于下拉选项里。

办法解决
方法一:将选择中的一个选项设置为空,就可以防止因添加NG-模型自动添加空期权问题的
方法二:自己预先添加一个数值为空的选项,再用NG-IF =“假“把它去掉

Q1:问题:NG-如果和NG-显示哪个更好用?

A1:回答:NG-如果是移除/添加元素,而NG-节目是把元素显示/隐藏,虽然有相似的地方,但是实际还是有区别的,主要根据需求来应用,大部分时候都差不多。

Q2:问题:NG选项除了选择还可以用在什么标签上?

A2:回答:一般用在形式表单上,表单元素都可以。

Q3:问题:纳克级有什么优点?

A3:回答:主要是可以动态的添加或者删除类,比用JS操作起来方便很多。

PPT

感谢大家观看!

你可能感兴趣的:(angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?)