Angularjs启动应用
要启动一个angular应用,可以使用ng-app指令,也可以调用bootstrap方法手动启动。
一个angular应用中,可以有多个angular.module。应该有且只有一个angular.module的名称与ng-app的值一致,否则就没有意义了。
angular.module('M1',[]); angular.module('M2',[]); ...... angular.module('Mn',[]); angular.module('app',['M1','M2',...,'Mn']);
M1,M2,...,Mn可能是不同的业务模块,可以单独作为一个angular.module,最后全部挂载在模块下。
以上是自动加载。如果采用手动加载,则不受名称限制,不受数量限制。
angular.bootstrap(element, [modules], [config]); ● element(必需)。要启动angular的根节点,一般为document,也可以是其他的的html的dom。 ● modules(数组,可选)。依赖的模块。 ● conifg(object,可选)。配置项,目前只有strictDi一个可配置项,默认为false,是否开启辅助debug。
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <body> <div id="app1"> <div ng-controller="myCtrl"> {{ hello }} </div> </div> <div id="app2"> <div ng-controller="myCtrl"> {{ hello }} </div> </div> <script type="text/javascript"> // AngularJS 模块定义应用: var app1 = angular.module("test1",[]); // AngularJS 控制器控制应用: app1.controller("myCtrl",fu nction($scope){ $scope.hello = "a Angular app"; }); var app2 = angular.module("test2",[]); app2.controller("myCtrl",function($scope){ $scope.hello = " another Angular app"; }); angular.bootstrap(document.getElementById("app1"),['test1']); angular.bootstrap(document.getElementById("app2"),['test2']); </script> </body> </html>
以上例子,启动了两个angular app,且没有使用指令