0

我製造具有加載在模板的指令,與獲取的推移,一些transcluded內容。所以基本上我的HTML是指令裝載NG-transclude內容加載

<my-directive> 
    <div>Some transcluded content</div> 
</my-directive> 

然而,當我的頁面加載時,在一秒鐘內,我只看到頁面上的橫切內容。我猜從頁面初始加載到指令模板加載時有一段延遲。在指令模板加載之前,有沒有辦法隱藏transcluded內容?

非常感謝你,首先快速加載真的是一個震撼的體驗。有誰知道如何解決這個問題?

+0

看看['ngCloak'](https://docs.angularjs.org/api/ng/directive/ngCloak) –

回答

1

將類ng-hide添加到您的臨時指令中,一旦角度開始執行,它就會自動刪除。

<my-directive ng-show="true" class="ng-hide"> 
    <div>Some transcluded content</div> 
</my-directive> 

,並定義.ng-hide { display: none }你的CSS文件,否則你可以寫這樣的事情:

<my-directive> 
    <div ng-bind="Some transcluded content"></div> 
</my-directive> 

希望這有助於!

感謝,
SA

+0

角怎麼自動刪除ng-hide類?我只是試過這個,它不會自動刪除。 – roboguy12

+0

哦,我的錯。我剛剛更新了答案。請看一看。你還必須添加'ng-show'屬性。 –

1

好了,好了,所以我發現,使用作品一ngCloak解決方案。我跟着指示here,加入這個CSS

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

ng-cloak指令到我的指令

<my-directive id="..." class="..." ng-cloak> 
    <div>Transcluded content</div> 
</my-directive> 

這可以防止從DIV顯示,直到該指令已編譯/評估。希望這有助於任何遇到此問題的人。