angularJS中标题和正文部分具有不同依赖关系的单独模块



我在项目中使用angularJS。我项目的每一页都包含两个主要部分(header.html(作为母版页(和正文部分(,我在所有页面中都包含了页眉部分。我需要标题部分的angularJS来加载一些信息。我在标题部分定义了app变量,每隔一页都使用这个应用程序变量(模块(。

var app = angular.module('myModule',[])

我的问题是,我需要在一些具有不同依赖关系的页面中使用app变量(如ui.bootstrap(。我应该在标题部分定义所有依赖项吗?如以下示例:

var app = angular.module('myModule',['ui.bootstrap', ...])

我可以在页眉和正文部分使用单独的模块吗?

我可以在模块定义后添加依赖项吗?

我的页面结构:

<html>
  <head>
  </head>
  <body>
    <div ng-app="HeaderApp" ng-controller="HeaderCtrl"> ... </div>
    <div ng-app="BodyApp" ng-controller="BodyCtrl"> ... </div>
  </body>
</html>

和Javascript文件:

(Header.js(

(function() {
    var app = angular.module('HeaderApp', []);
    app.controller('HeaderCtrl', function($scope, $http) {
        LoadUserName($scope, $http);
    });
    function LoadUserName($scope, $http) {
        ...
    }
})();

(Body.js(

(function() {
    angular.module('BodyApp', ['HeaderApp','ui.bootstrap']);
    var app = angular.module('BodyApp');
    app.controller("BodyCtrl", function($scope, $http) {
           ...
        };
    });
})();
(function () {
    var app = angular.module('bootstraplessModule', [...]);
    ...
)();

(function () {
    var app = angular.module('bootstrappedModule', [ 'bootstraplessModule', 'ui.bootstrap' ]);
    ...
)();

我可以在页眉和正文部分使用单独的模块吗?

是的。尽管我不确定在两个不同的地方定义它们是否有意义。

我可以在模块定义后添加依赖项吗?

没有。但是您可以提供一个数组变量来动态定义模块。

最新更新