2017-07-12 63 views
0

我有角js 1.3.3應用程序。引導後加載依賴於angularjs應用程序

我加載一個模塊從其他的網站:

RequireJS

我想我的引導應用程序,然後緊接着加載外部模塊。

我的代碼:

var app = angular.module("myApp"); 
app.run(function(){ 
    // Load external module 
    require("some js url", function(){ 
     app.requires.push("externalApp"); 
    }); 
}); 
angular.bootstrap($("html"), "myApp"); 

這個代碼不工作(在「對myApp」有沒有從「externalApp」訪問服務),有什麼不對?

謝謝幫助,非常感謝

Refa。

+0

您正在創建或僅引用您的模塊「myApp」嗎? – tiagodws

+0

只引用在@tiagodws – user2740785

回答

0

RequireJS的require調用是異步的。在執行angular.bootstrap時,不能保證app.requires.push(...)已經運行。事實上,它很可能不會運行,因爲require調用可能需要從某個地方加載模塊,這需要時間。

您應該重構您的代碼,以便require在外面,以便確保在引導應用程序之前運行app.requires.push(...)

require("some js url", function() { 
    var app = angular.module("myApp"); 
    app.run(function() { 
    // Load external module 
    app.requires.push("externalApp"); 
    }); 
    angular.bootstrap($("html"), "myApp"); 
}); 
+0

之前完成的創建,但是我想在應用程序啓動之前加載angular.bootstrap之後的外部模塊 – user2740785

相關問題