我们一般写AngularJS时,会在html或者body、div、form等标签里面加上ng-app=”myApp”之类的,这实际上就是让angular自动加载,Angular会自动找到ng-app指令,并将写有ng-app的HTML元素里面的内容作为自己的管辖范围,也就是以该元素为根。这时系统只会找第一个ng-app,如果你的代码里面有多个ng-app的话,angular只理会第一个,后面的直接无视。
如果你的代码里面没有包含ng-app,你就只能手动加载angular了,就需要用到angular.bootstrap这个函数了。
angular.bootstrap函数有两个参数,第一个参数必须,第二个为可选参数。
使用方法:

  1. element(DOM元素):该DOM元素将作为angular的根
  2. modules(数组,数组里面的元素可以是字符、函数、数组):angular需要加载的各个模块的名字所构成的数组

返回值:为应用新建一个注入器。
示例代码如下:

      var app =angular.module("myApp",[]);
      var app2 =angular.module("myApp2",[]);
      var app3 =angular.module("myApp3",[]);
      console.log(app);
      app.controller('myCtrl', ['$scope',function($scope){
        $scope.test = "This is a test!"
      }]);
      app2.controller('myCtrl2', ['$scope',function($scope){
        $scope.test = "A test too!"
      }]);
      app3.controller('myCtrl3', ['$scope',function($scope){
        $scope.test = "I am from div3!"
      }]);

      angular.element(document).ready(function() {
        angular.bootstrap(document.getElementsByName('boot'), ['myApp', 'myApp2']); 
        angular.bootstrap(document.getElementById("div3"),["myApp3"]);
      });

html代码

<html>
  <body>  
    <div name='boot' ng-controller="myCtrl">
      {{test}}
    </div>
    <div name='boot' ng-controller="myCtrl2">
      {{test}}
    </div>
    <div id='div3' ng-controller="myCtrl3">
      {{test}}
    </div>
  </body>  
</html>

运行结果如下:
angular.bootstrap
也可以利用下面的代码实现加载三个

      angular.element(document).ready(function() {
        angular.bootstrap(document), ['myApp', 'myApp2', 'myApp3']); 
      });

在做项目的实战中,手动加载angular完全没有必要。

随机文章

求6块钱回家
求6块钱回家

jQuery网格插件ParamQuery
jQuery网格插件ParamQuery

百度新首页看法
百度新首页看法

大家快来免费抢阿里云主机哦
大家快来免费抢阿里云主机哦

相关文章

0基础搭建android开发平台
0基础搭建android开发平台

必应桌面更好的集成facebook,增加更多自定义功能
必应桌面更好的集成facebook,增加更多自定义功能

500px官方终于支持Windows Phone平台了
500px官方终于支持Windows Phone平台了

百度站长平台开放注册了,但功能很一般
百度站长平台开放注册了,但功能很一般

新浪发的公告延时严重
新浪发的公告延时严重

内容分享:道招
本文链接:AngularJS加载方式和angular.bootstrap
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!