Avi*_*iro 44
是的,您可以在angularJS中定义多个模块,如下所示.
var myApp = angular.module('myApp', [])
var myApp2 = angular.module('myApp2', [])
Run Code Online (Sandbox Code Playgroud)
但是,不要忘记在每个模块声明期间定义依赖关系,如下所示.我们假设myApp2依赖于myApp.因此,声明将类似于,
var myApp = angular.module('myApp', [])
var myApp2 = angular.module('myApp2', ['myApp'])
Run Code Online (Sandbox Code Playgroud)
AngularJS中的模块化有助于我们保持代码清晰度和易于理解,因为我们可以组合多个模块来生成应用程序.但是,我们需要记住,我们应该根据功能而不是类型来模块化组件.
Moh*_*ALI 28
每个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
您也可以只使用一个ng-app,但是像这样组合2个模块:
var moduleA = angular.module("MyModuleA", []);
moduleA.controller("MyControllerA", function($scope) {
$scope.name = "Bob A";
});
var moduleB = angular.module("MyModuleB", []);
moduleB.controller("MyControllerB", function($scope) {
$scope.name = "Steve B";
});
angular.module("CombineModule", ["MyModuleA", "MyModuleB"]);
Run Code Online (Sandbox Code Playgroud)
然后 ng-app="CombineModule"
m.e*_*roy 13
我想,他混淆了模块ngApp,在只有一个页面上的应用程序(NG-APP)和应用程序的视图(ngView或<NG-视图>)只能存在一次为好.但是如前面的答案中所述,您可以根据需要创建任意数量的模块,并将它们作为依赖项注入"主"应用程序模块.我通常这样做是为了在我们自己的模块中分离我的指令,过滤器,控制器等.
编辑:
ngApp - http://code.angularjs.org/1.1.5/docs/api/ng.directive:ngApp
Tha*_* K. 12
当然可以.只需使用angular.module('moduleName', [/* dependencies */])您希望创建的模块数量.
为了得到一个预先定义的模块的引用只是做:var myModule = angular.module('moduleName');然后myModule.controller(...),myModule.config(),myModule.constant()等.
建议的项目布局(请参阅Angular Seed)有一个适用于您的应用程序的模块,另一个用于您的控制器,另一个用于您的服务,另一个用于您的过滤器,另一个用于您的指令.当然这只是一个建议.其他人建议替代布局.
多模块是什么意思?您可以将模块注入另一个模块
angular.module(name[ anotherModule]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84382 次 |
| 最近记录: |