簡體   English   中英

Angular何時將指令模板添加到DOM?

[英]When does Angular add a directive template to the DOM?

我需要使用一個Javascript庫(scrollReveal),它假定完整的DOM已准備就緒。 我目前正在使用AngularJS。

問題是,我不知道何時通過以下方式初始化scrollReveal

window.sr = new scrollReveal();

如果我在一個指令的鏈接函數中執行此操作,則它可能不適用於另一個指令的模板,因為另一個模板可能尚未添加到DOM中。

所以我有兩個問題:

1)指令模板何時添加到DOM? 如果我使用template vs templateUrl,會有所不同嗎?

2)如何添加假定完整DOM的其他代碼?

謝謝。

1)指令模板何時添加到DOM? 如果我使用template vs templateUrl,會有所不同嗎?

您可以使用自己喜歡的方法。但是,將HTML編寫在單獨的文件中是一種更清潔的解決方案。 我個人更喜歡templateUrl因為我認為將html代碼放入字符串中不是一個好習慣。 但是執行代碼時沒有區別。

2)如何添加假定完整DOM的其他代碼?

$ timeout是Angular的window.setTimeoutset的包裝器。 超時將從執行隊列中刪除該函數,並且僅在JavaScript完成當前執行隊列后才調用該函數。 因此,在執行之前將更新您的模型。

這是一個例子:

$timeout(function(){
   // template should be visible now
[,optional delay]);

直到摘要周期完成后,$ timeout才會運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM