AngularJS模块在“根模块”里面

时间:2015-07-02 08:26:12

标签: angularjs module

有没有办法在另一个模块中定义角度模块?我的Web应用程序中有一个模板,几乎每个应用程序页面都会调用该模板。在模板定义中,我设置了ng-app。因此,对于这个ng-app,我可以在应用程序的所有页面(或几乎每个页面)声明我需要的模块。现在我想在特定页面上添加一些模块。问题是在那些页面中我已经有了模板的ng-app。

那么有没有办法让ng-app成为某种root ng-app,它在任何地方声明我需要的模块,然后在特定页面中添加特定的模块呢?

这意味着可以做这样的事情:

 <div ng-app="rootApp">
      <div ng-app="specificApp">
         ... 
      </div>
 </div>

rootApp包含在我的模板中声明的模块,它们在所有页面中使用,而specificiApp包含我在一个特定页面中只需要的模块。

谢谢!

[编辑]引导尝试:

 var reportHolidaysByEmployeeApp = angular.module('reportHolidaysByEmployeeApp', ['fitnetApp', 'ui.bootstrap']);
 angular.bootstrap(document.getElementById("reportHolidaysByEmployeeApp"), ['reportHolidaysByEmployeeApp']);

 reportHolidaysByEmployeeApp.controller('ReportHolidaysByEmployeeCtrl', function($scope, $filter, $timeout) {

fitnetApp是我在每个页面的html标签上加载的全局模块

3 个答案:

答案 0 :(得分:0)

如果您的页面[视图]有单独的控制器,请将控制器模块中的依赖关系添加到[rootApp]或[spcificApp],以满足您的页面需要。

window

答案 1 :(得分:0)

  

每个HTML只能自动引导一个AngularJS应用程序   文献。文档中找到的第一个ngApp将用于定义   作为应用程序自动引导的根元素。要运行多个   HTML文档中的应用程序必须手动引导它们   使用angular.bootstrap代替。 AngularJS应用程序不可能   彼此嵌套。 -   http://docs.angularjs.org/api/ng.directive:ngApp

另见

https://groups.google.com/d/msg/angular/lhbrIG5aBX4/4hYnzq2eGZwJ http://docs.angularjs.org/api/angular.bootstrap

答案 2 :(得分:0)

您不能在一个网页中拥有两个ng-app。 如果需要在特定页面上添加依赖模块,请使用

angular.module('reportHolidaysByEmployeeApp').requires.push('thirdpartymodule');

这将动态地在已经运行的角度应用程序中注入依赖项。