這是另一個問題的分支(Angular: running function in controller when all directives are loaded),因爲這是一般性問題。如何檢測所有指令何時加載?
如何檢測頁面上的所有角度指令何時加載?
編輯:
我發現到目前爲止是建立在它的連接功能中觸發範圍功能,最高等級的指令的唯一方法。這適用於angular從外部到內部編譯頁面上的所有指令,並將鏈接函數從內部調用到外部。
缺點:如果任何內部指令使用templateUrl,則此操作不再有效,因爲這將發生異步。這將導致外部指令鏈接函數在內部指令鏈接函數之前運行。此外,您必須爲所有視圖/包含添加指令。
EDIT2:
我發現了一個偉大的答案,它描述上述問題類似的問題。而在j_walker_dev提到了以下的評論:
The way i got around this was to use template, like mentioned.
But to inject $templateCache and do template: $templateCache.get('url.tpl.html').
SO問題:How to execute parent directive before child directive?
至少在這個曾經可以繼續使用templateUrls因爲它避免了模板加載的指令異步行爲。
你是不是指index.html? – 2014-11-05 17:36:45
在包含指令的任何html端。這也可以在ng-view或ng-include中。 – jimmy 2014-11-05 18:09:01