我有當有按鍵cliked是滑動的菜單,但在開始這個菜單是隱藏的,這樣的事情:ngShow讀取延遲問題
<div ng-show="menuShow">
my menu here...
</div>
的問題是,當頁面加載菜單不隱藏(可能是因爲ngShow指令沒有加載),然後它們消失(可能是因爲ngShow指令被加載),並使菜單產生奇怪的「閃爍效果」。
處理這個問題的最佳方法是什麼?
我有當有按鍵cliked是滑動的菜單,但在開始這個菜單是隱藏的,這樣的事情:ngShow讀取延遲問題
<div ng-show="menuShow">
my menu here...
</div>
的問題是,當頁面加載菜單不隱藏(可能是因爲ngShow指令沒有加載),然後它們消失(可能是因爲ngShow指令被加載),並使菜單產生奇怪的「閃爍效果」。
處理這個問題的最佳方法是什麼?
最快最簡單的做法是將ngCloak
指令添加到元素。
<div ng-show="menuShow" ng-cloak>
my menu here...
</div>
只要角在文檔的頭部同步加載,這應該防止閃爍。
如果你不加載角同步,那麼according to the docs,你可以手動將CSS添加到頁面:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
如果這是不可能因爲某些原因,你可以你就必須全部Angular內容不在初始加載的頁面中,但包含在ng-include
,ng-view
或ui-view
指令中,或包含自己的模板的自定義指令。 (這是我怎麼做的,但更多的是因爲結構原因)
嗨!我碰到了完全相同的問題,但是你的答案中的兩個選項對我來說都不起作用:(任何想法?http://stackoverflow.com/questions/30540119/how-to-remove-delay-from-ngshow -initialization –
由於同步分化,這是一個很好的答案。在我的情況下,angular並沒有加載到頭部,所以我不得不手動添加CSS類。 –
即使應用CSS規則,我也無法獲得ng-cloak
的工作,所以我最終使用了ng-if
。 https://docs.angularjs.org/api/ng/directive/ngIf
這將導致更多的開銷角實際上會從DOM中刪除的對象,每次都重新加載它的ng-if
的值發生變化,但對我來說,這不是很頻繁,開銷並不明顯。
http://stackoverflow.com/questions/14068711/alternative-to-ng-show-hide-or-how-to-load-only-relevant-section-of-dom –