ng-cloak和ng-show闪烁屏幕上的隐藏元素

wci*_*ciu 18 angularjs

我有一个div元素,当我的项目列表为空时,我只想显示它.所以我输入以下内容(haml):

  #no-items.ng-cloak{ :ng_show => "items.length <= 0", :ng_cloak => true }
Run Code Online (Sandbox Code Playgroud)

但是,即使在我完成之后,元素仍然在屏幕上闪烁.然后我看到Angularjs - ng-cloak/ng-show元素闪烁,但即使在我的CSS中添加以下内容后,仍然会发生眨眼.

[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

小智 34

您可以将ng-hide放在类中,而不会影响JS在加载后的工作方式.但是,将它放在那里以便CSS在等待JS加载时将其考虑在内是很有用的.

<div data-ng-controller="RoomsController">
<div ng-cloak class="ng-cloak ng-hide" data-ng-if="visible" >
    Some text
</div>        
</div>
Run Code Online (Sandbox Code Playgroud)


Mar*_*cok 10

确保在页面开头加载上面显示的ng-cloak CSS.

这应该是您需要做的所有事情:

<div ng-hide="items.length" ng-cloak>no items</div>
Run Code Online (Sandbox Code Playgroud)

样品小提琴.