Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS模块注入_Javascript_Angularjs_Requirejs - Fatal编程技术网

Javascript AngularJS模块注入

Javascript AngularJS模块注入,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,我将Angular与RequireJS结合使用。我已经定义了非常简洁的控制器,它封装了特定于这些模块的逻辑。我有一个缺点,就是我必须在最顶层包含所有的角度模块,这将独立的模块耦合到主层 // app.js define(['angular', 'angularui'], function (angular) { return angular.module('phx', ['ui.bootstrap']) }); 有没有一种方法可以在模块需要时插入ui.bootstrap?例如,主页只

我将Angular与RequireJS结合使用。我已经定义了非常简洁的控制器,它封装了特定于这些模块的逻辑。我有一个缺点,就是我必须在最顶层包含所有的角度模块,这将独立的模块耦合到主层

// app.js
define(['angular', 'angularui'], function (angular) {
     return angular.module('phx', ['ui.bootstrap'])
});
有没有一种方法可以在模块需要时插入
ui.bootstrap
?例如,主页只是登录,而内部页面需要angularui,等等:

//dashboard.js
define(['app', 'angularui', function (app) {

     // inject ui.bootstrap here? so not to couple to main module
     return app.controller('ctrl', 
          ['$scope', function ctrl($scope) {
     }];
});

鉴于上述示例,我可以添加:

// app.js
define(['angular'], function (angular) {
     return angular.module('phx', [])
});

//dashboard.js
define(['app', 'angularui'], function (app) {
    app.requires.push('angularui');
});

我正为类似的问题绞尽脑汁。我没有完全满足我的答案,但你可以看看我的一些努力和不同的方法(不是从我这里)。