我有一些代码运行了两次,即使你 angularJs 只渲染它的一个分支。
<div ng-Show="SomeCondition">
...
</div>
<div ng-Hide="SomeCondition">
...
</div>
AngularJs 正确地只渲染了一个 div,但是它同时处理了这两个。这会导致一些性能下降,因为每个部分都很大。有没有办法从一个执行分支中删除处理?
我有一些代码运行了两次,即使你 angularJs 只渲染它的一个分支。
<div ng-Show="SomeCondition">
...
</div>
<div ng-Hide="SomeCondition">
...
</div>
AngularJs 正确地只渲染了一个 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>