2014-04-30 51 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

我的'