我知道即使ngShow
求值为false
,它仍会在指令中执行脏检查。
ngShow
(例如ng-show=false
):
DOM
内撰写ngShow
(因为它必须$compile
),然后隐藏/删除内容,或DOM
元素的费用?答案 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。