angularJS中的ng-showng-if指令

Posted 永醉雨辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularJS中的ng-showng-if指令相关的知识,希望对你有一定的参考价值。

angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。

1. ng-show和ng-hide

      根据所给表达式的值来显示或隐藏html元素。元素会渲染出来,只是通过css隐藏了。 即DOM中会存在, 通过选择符可以获取到此元素的。

2.ng-if指令

      可以根据表达式的值在DOM中生成或移除一个元素。如果赋值给ng-if的表达式的值是false,那对应的元素将会从DOM中移除(DOM中不会存在, 通过选择符无法选择到),否则生成一个新的元素插入DOM中。ng-if同no-show和ng-hide指令最本质的区别是,它不是通过CSS显示或隐藏DOM节点,而是删除或者新增结点。

 

使用:

ng-show在第一次渲染时 消耗资源会比较大;

ng-if在需要频繁显示或隐藏时 消耗资源会比较大。

所以若页面基本无变化,可以用ng-if

  需要频繁显示或隐藏时, 用ng-show。

 

与之相关的一个小点:

id元素需唯一,否则若存在多个相同id的元素时,js只会选择DOM中第一个。适当时候用ng-if

以上是关于angularJS中的ng-showng-if指令的主要内容,如果未能解决你的问题,请参考以下文章

浅谈AngularJS中的指令和指令间的相互通信

angularjs指令中的compile详解

AngularJS指令中的compile与link函数解析

angularjs中的分页指令

无法使用 AngularJS 指令更改 $templateCache 中的属性

如何修复 AngularJS 指令中的“jQuery 可拖动不是函数”