首页 文章

在bootstrap之后加载对angularjs app的依赖

提问于
浏览
0

我有角度js 1.3.3应用程序 .

我正在从其他网站加载一个模块:

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 .

1 回答

  • 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");
    });
    

相关问题