AngularJS - ngShow - 它是否执行DOM组合?

时间:2013-04-18 13:55:28

标签: angularjs angularjs-directive

我知道即使ngShow求值为false,它仍会在指令中执行脏检查。

ngShow(例如ng-show=false):

也是如此
  • DOM内撰写ngShow(因为它必须$compile),然后隐藏/删除内容,或
  • 只执行脏检查而无需创建DOM元素的费用?

2 个答案:

答案 0 :(得分:1)

ng-show只会将元素设置为display: none。所以他们仍然会在DOM中,并且仍然会被棱角分析。

尝试使用类似ng-switch的内容来实际删除DOM中的元素。 http://docs.angularjs.org/api/ng.directive:ngSwitch

答案 1 :(得分:0)

Angular.js在编译期间不会创建任何DOM节点。它允许浏览器构建DOM,然后简单地浏览它并收集指令。

因此,如果节点在您的模板中,它们确实会被创建,但是由浏览器创建,而不是Angular。