2012-06-07 47 views
13

大家好我一直在努力,沒有運氣了幾天來做到這一點。angularjs應用程序初始化後注入模塊

反正是有異步加載部分JS腳本(其含有角模塊),並且已經初始化之後它們注入到正在運行的應用程序。

基本上我有一個容器DOM元素,將填充一些HTML請求從服務器,基於這個HTML代碼,我將決定哪些js文件(模塊)將需要,然後加載它們異步注入模塊到角度的應用程序,並與新的注入模塊編譯內容。

我試過,但我每次做的引導方法注入主控制器激發起來並刪除我所有的範圍狀態的模塊。 :(

任何幫助,在這裏

+0

你能提供與你正在試圖做什麼小提琴? – ganaraj

+0

這裏是小提琴http://jsfiddle.net/MForce/WVz8r/32/看看以及版本http://jsfiddle.net/MForce/WVz8r/31/ 31版本的作品,因爲我加載模塊以及應用程序初始化。 但是,這正是我不想做,因爲我不知道我會包含模板什麼樣的指令,我會被異步加載單獨的腳本中的指令模塊。 因此,基本上一旦App模塊啓動,是否有任何方法添加/注入額外的模塊,使其知道新的指令? – MForce22

+0

目前,沒有「很好」的方式來做到這一點。雖然,它絕對在我們的名單上。搜索郵件列表的一些想法如何破解它:-D – Vojta

回答

3

它的醜陋,但它的工作原理:http://jsfiddle.net/MzseV/7/

它主要的工作原理是通過遍歷模塊的_invokeQueue成員和內使用用於註冊服務,控制器供應商應用功能和(注意:這些需要在引導AFAIK之前捕獲),這可能會重新註冊您之前註冊的任何內容,因此您可能需要一些啓發式方法來挑選您想要的,但我不確定是否有任何問題損壞重新註冊。

再次,它是相當醜陋和哈克,所以我只能用作最後的手段。

Here's我問及以後的問題回答了這個問題。

編輯:只注意到這個問題有多大年紀,希望它仍然可以幫助別人。

+0

重要:**注意:這些需要被捕獲之前引導AFAIK ** –