手动初始化Angular的模块与控制器
程序员文章站
2024-01-24 15:03:40
在上面的文章中,都是在html元素上绑定ng-app="myapp",然後使用angular.module('myapp',[]);来初始化模块的操作,下面我们来用angu...
在上面的文章中,都是在html元素上绑定ng-app="myapp",然後使用angular.module('myapp',[]);来初始化模块的操作,下面我们来用angular.bootstrap方法手动初始化模块。
<!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>demo</title> <script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script> </head> <body> <div ng-controller='aaa'> <p>{{name}}</p> </div> <div ng-controller='bbb'> <p>{{name}}</p> </div> <script type="text/javascript"> var m1 = angular.module('myapp1',[]); var m2 = angular.module('myapp2',[]); m1.controller('aaa',function($scope){ $scope.name = 'hello angularjs'; }); m2.controller('bbb',function($scope){ $scope.name = 'hi'; }); //点击的时候初始化模块 document.onclick = function(){ var adiv = document.getelementsbytagname('div'); //多次初始化操作 angular.bootstrap(adiv[0],['myapp1']); angular.bootstrap(adiv[1],['myapp2']); }; </script> </body> </html>
除了手动初始化模块外,还能使用run方法初始化控制器(但是数据必须是全局的)。
<!doctype html> <html ng-app="myapp"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>demo</title> <script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script> </head> <body> <div> <p>这里没有使用ng-controller命令</p> <p>{{name}}</p> </div> <script type="text/javascript"> var m1 = angular.module('myapp',[]); //不需要创建控制器引用也可以更改数据 //rootscope是全局作用域 m1.run(['$rootscope',function($rootscope){ $rootscope.name = 'hello'; }]); </script> </body> </html>
在run下不能使用$scope局部,否侧会报错!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
推荐阅读
-
手动初始化Angular的模块与控制器
-
angular中自定义模块的构造与使用
-
ThinkPHP中URL路径访问与模块控制器之间的关系
-
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
-
Angular.js初始化之ng-app的自动绑定与手动绑定详解
-
ThinkPHP中URL路径访问与模块控制器之间的关系
-
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
-
ThinkPHP中URL路径访问与模块控制器之间的关系,thinkphpurl
-
ThinkPHP中URL路径访问与模块控制器之间的关系_php实例
-
ThinkPHP中URL路径访问与模块控制器之间的关系_PHP