我有角度js 1.3.3 app。
我正在从其他网站加载一个模块:
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 :(得分: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");
});