2

我有一些代码运行了两次,即使你 angularJs 只渲染它的一个分支。

<div ng-Show="SomeCondition">
...
</div>
<div ng-Hide="SomeCondition">
...
</div>

AngularJs 正确地只渲染了一个 div,但是它同时处理了这两个。这会导致一些性能下降,因为每个部分都很大。有没有办法从一个执行分支中删除处理?

4

1 回答 1

2

您正在寻找的是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>
于 2013-05-07T03:20:51.933 回答