angularjs:如何防止在 ng-hide 之后处理附加指令

标签 angularjs

我有一些代码运行了两次,即使 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/

相关文章:

javascript - 使用单页应用程序(Angular)在上下文结帐中使用 PayPal

javascript - 将 ng-repeat-start 和 ng-repeat-end 与 2 个不同的对象一起使用

javascript - Angular.js 如何处理诸如 "ng-click"之类的事件绑定(bind)?

javascript - ngStorage 是否异步执行操作?

javascript - AngularJS ng-repeat 带过滤器的数组

AngularJS 嵌套指令

javascript - 如何在另一个 JavaScript 脚本中检索从 AngularJS 返回的数据

javascript - 在 Angular Javascript 中合并数组并组合匹配对象

javascript - Alasql 未定义

javascript - JS Lodash : Sort object by value, 最后为空