当ng-class应用于body标签时,如何避免延迟?

时间:2014-06-25 10:29:59

标签: angularjs

我在页面的<body>标记上使用类名来定义页面内容是否被缩放。

<body 'ng-class'=> "Preferences.zoomed()">

Preferences.zoomed()的默认设置为false,因此页面以非缩放状态加载。

不幸的是,虽然在页面加载和ng-class评估之间似乎有一个短暂的延迟。这意味着当页面加载(并设置为缩放)时,它会不断地(尽管是短暂地)从非缩放状态翻转到缩放状态,使得事物不愉快地闪烁。

我认为这是因为Angular在dom加载后进行评估......

我猜这种瞬间状态的发生是因为直到dom完成加载之后才对角度进行解析和评估。因此,页面加载zoom=false,然后轻弹到zoom-true

如何在加载到页面时强制对ng-class进行评估?

有没有办法强制Angular在元素本身加载时评估这个表达式并避免这种闪烁?

1 个答案:

答案 0 :(得分:1)

请在这里查看https://docs.angularjs.org/api/ng/directive/ngCloak

<body 'ng-class'=> "Preferences.zoomed()" ng-cloak="">

的CSS:

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}