我知道即使ngShow评估为false,它仍然会在指令内执行脏检查。
也是如此ngShow(如ng-show=false):
- 撰写
DOM内部ngShow(因为它必须这样做$compile)然后隐藏/删除内容,或者 - 只执行脏检查而无需创建
DOM元素?
我知道即使ngShow评估为false,它仍然会在指令内执行脏检查。
也是如此ngShow(如ng-show=false):
DOM内部ngShow(因为它必须这样做$compile)然后隐藏/删除内容,或者DOM元素?ng-show只会将元素设置为display: none. 所以它们仍然会在 DOM 中并且仍然会被 Angular 进行脏检查。
尝试使用类似的东西ng-switch从 DOM 中实际删除元素。 http://docs.angularjs.org/api/ng.directive:ngSwitch
Angular.js 在编译期间不会创建任何 DOM 节点。它让浏览器构建 DOM,然后简单地通过它并收集指令。
因此,如果节点在您的模板中,它们确实会被创建,但由浏览器创建,而不是 Angular。