2014-04-30 49 views
0

我想隐藏文本消息,同时加载js并且数据绑定尚未应用。我试过这样的东西,但它总是隐藏消息如何在应用数据绑定之前隐藏元素

.hide { display: none; } 
<div class="hide" ng-hide="haveRecords">No Records found</div> 

如果我从div中删除class hide。那么在应用数据绑定之前,该元素会显示几毫秒。如何解决它?

回答

1

您应该使用ngCloak

ngCloak指令用于防止角HTML模板从在其原始(未编译)形式的浏览器,而你的应用程序加载,略微显示。使用此指令可避免由html模板显示引起的不良闪烁效应。

代码

<div ng-hide="haveRecords" ng-cloak>No Records found</div> 
+1

没有...它仍然显示消息没有记录几毫秒 – coure2011

+0

@ coure2011,尝试添加Css'[ng \:cloak],[ng-cloak],[data-ng-cloak],[x “斗篷”,“斗篷”,“斗篷”,“斗篷”,“斗篷”,“斗篷”,“斗篷” }' – Satpal

+0

仍然没有帮助,我也尝试添加class .ng-cloak,并在Controller的第一行设置一个调试器点。我发现它在加载控制器之前删除了.ng-cloak类... – coure2011

6

这是ngCloak是。
您可以使用它像这样:

<head> 
    ... 
    <style>[ng-cloak] {display: none !important;}</style> 
</head> 
<body> 
    ... 
    <div ng-cloak ng-hide="haveRecords">No Records found</div> 

注:在头部的风格时,才需要,如果你包括身体的结束(这是一个好主意,反正)的AngularJS脚本。

+1

data绑定尚未激活,那么ng-cloak将如何工作?它仍然显示我的div – coure2011

+0

我的'