防止角度在非显示的DOM元素中运行

时间:2015-07-23 13:33:34

标签: angularjs authorization

假设我有像这样的HTML结构

<myHandler>
    <element_1 ng-controller="..." ng-init="">
        content
    </element_1>
    <element_2 ng-controller="..." ng-init="">
        content
    </element_2>
</myHandler>

所以,我的css说element_2有display:none;

如何判断角度不要运行这些隐藏的东西? 当它们可见时只运行(一次)?

为了更详细地阐明案例,myHandler正在处理授权,并根据权限显示element_1 / element_2。

所以如果没有权限

,我不想初始化element_2

1 个答案:

答案 0 :(得分:1)

不要保持显示无,只需使用标志变量保留属性ng-if 因为如果我们使用ng-if那么没有任何元素被添加到dom中,或者如果没有添加任何元素,那么没有控制器会被实例化。

<myHandler>
    <element_1 ng-controller="..." ng-init="">
        content
    </element_1>
    <sample ng-if="isDisplay">
    <element_2  ng-controller="..." ng-init="">
        content
    </element_2>
</sample>
</myHandler>