在使用angularjs指令

时间:2015-11-18 11:16:48

标签: javascript angularjs dom angularjs-directive

我正在寻找一种方法来为以下需求建立一个方向:

  • 应根据传递的属性值
  • 删除元素
  • 应在呈现之前删除
  • 应删除所有子元素
  • 应该与ng-if
  • 结合使用ng-bind

或者以另一种方式说:在初始页面加载之后和元素渲染之前应该删除元素,这样用户就不会看到元素“闪烁”。有没有办法不使用ng-bind

ng-bind并非总是非常有帮助:

<parent my-directive>
    <child ng-bind="Hi"></child>
</parent>
.parent {
     background-color: red;
     padding: 50px;
}

非常感谢&amp;最好的问候!

2 个答案:

答案 0 :(得分:2)

如果我的假设是正确的,你可以使用ng-cloak来阻止由角度编译器引起的闪烁。

<parent ng-cloak>
    <child ng-bind="Hi"></child>
</parent>

<强>解释

包含ng-cloak的所有元素最初都会隐藏,只有在完成角度编辑后才会显示。

如果您将ng-cloak添加到body标记中,那么所有页面都将隐藏,并且只有在有角度的编辑后才可见。

<强>更新

<header ng-cloak ng-app>
  <h1 ng-cloak ng-if="false" style="background-color: red">  
    <span>TEST</span>
  </h1> 
</header>

答案 1 :(得分:0)

ng-bind是在运行时绑定元素的完美方式。更加关注这一点 访问how to remove All child element in Angular js