使用angular.bootstrap完成模块的手动加载

之前我们看到使用ng-app指令,可以实现模块的自动加载。现在我们看下,angular中如何手动加载模块。需要使用到angular.bootstrap这个函数。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <html>  
  2.       
  3.     <head>  
  4.         <script src="angular.js"></script>  
  5.         <script>  
  6.           
  7.         // 创建moudle1  
  8.         var rootMoudle = angular.module('moudle1', []);  
  9.         rootMoudle.controller("controller1",function($scope){$scope.name="aty"});  
  10.           
  11.         // 创建moudle2  
  12.         var m2 = angular.module('moudle2', []);  
  13.         m2.controller("controller2",function($scope){$scope.name="aty"});  
  14.           
  15.           
  16.         // 页面加载完成后,再加载模块  
  17.         angular.element(document).ready(function() {  
  18.             angular.bootstrap(document.getElementById("div1"),["moudle1"]);  
  19.             angular.bootstrap(document.getElementById("div2"),["moudle2"]);  
  20.         });  
  21.           
  22.     </script>  
  23.       
  24.     <head>  
  25.     <body>  
  26.         <div id="div1"  ng-controller="controller1">div1:{{name}}</div>  
  27.         <div id="div2"  ng-controller="controller2">div2:{{name}}</div>  
  28.     </body>  
  29.       
  30. </html>  


IE运行这个网页,发现变量能够被angular框架正确解析;F12发现控制台也没有报错误。到这里为止,我们知道了如何加载angular的模块,也明白了手动加载和自动加载的区别。接下来,我们就可以去继续学习angularjs框架的其他知识。
需要注意的是angular.bootstrap必须是在element参数所指向的dom树加载完毕后才能调用,所以通常我们会在$(document).ready()后执行。此处因为我们的script是放在body尾部,所以不存在问题。

猜你喜欢

转载自my.oschina.net/u/3257418/blog/1563866
今日推荐