首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs - grouping ng show

Angularjs - grouping ng show
EN

Stack Overflow用户
提问于 2015-02-22 06:07:38
回答 2查看 626关注 0票数 1

如何在不破坏dom树顺序的情况下对ng-show进行分组?

原因:我想减少观察者的数量

例如,我有这些ng-show:

代码语言:javascript
复制
<ul>
    <li>A</li>
    <li>B</li>
    <li ng-show="canEdit">C</li>
    <li ng-show="canEdit">D</li>
    <li ng-show="canEdit">E</li>
</ul>

我能做这样的事情吗:

代码语言:javascript
复制
<ul>
    <li>A</li>
    <li>B</li>
    {{ng-show-start(canEdit)}}
    <li>C</li>
    <li>D</li>
    <li>E</li>
    {{ng-show-end(canEdit)}}
</ul>

使用DOM元素而不是ng- show -start&end也可以是一种解决方案,但它必须能够删除其元素并在true上显示内容。

EN

回答 2

Stack Overflow用户

发布于 2018-09-10 20:00:27

我知道这个问题已经存在三年了,可能已经无关紧要了,但是在angular 1.2+中有以下解决方案

代码语言:javascript
复制
<ul>
    <li>A</li>
    <li>B</li>
    <li ng-show-start="canEdit">C</li>
    <li>D</li>
    <li ng-show-end="canEdit">E</li>
</ul>
票数 1
EN

Stack Overflow用户

发布于 2015-02-22 06:34:07

如果canEdit在初始赋值后不会改变,那么你可以使用angular 1.3中引入的一次性绑定。ng-show="::canEdit"https://docs.angularjs.org/guide/expression

如果您确实希望对<li>标记进行分组,则需要将它们包装在一个html元素中,并将ng-show放在该元素上

不过,我不认为你需要担心太多的观察者。我相信(虽然不确定) angular只会给canEdit分配一个观察者,因为它是一个绑定在多个位置的单一变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28651924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档