我有一些代码运行了两次,即使 angularJs 只渲染它的一个分支。
<div ng-Show="SomeCondition">
...
</div>
<div ng-Hide="SomeCondition">
...
</div>
AngularJs 正确地只渲染了其中一个 div,但它同时处理了这两个 div。这会导致一些性能下降,因为每个部分都很大。有没有办法从执行分支之一中删除处理?
最佳答案
您正在寻找的是 ng-switch
,它将“有条件地更改 DOM 结构”。这意味着其他情况将不会运行,不像使用 ng-hide/ng-show,它只是调整 CSS。
http://docs.angularjs.org/api/ng.directive:ngSwitch
<div ng-switch on="SomeCondition">
<div ng-switch-when="true">Example</div>
<span ng-switch-when="false">Example Two</span>
<span ng-switch-when="somethingElse">Example Three</span>
<span ng-switch-default>default</span>
</div>
关于angularjs:如何防止在 ng-hide 之后处理附加指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16409881/