手动初始化Angular的模块与控制器


Posted in Javascript onDecember 26, 2016

在上面的文章中,都是在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局部,否侧会报错!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
jQuery中值得注意的trigger方法浅析
Dec 12 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
Sep 01 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
Sep 12 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
js实现适配移动端的拖动效果
Jan 13 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
详解Python中logging日志模块在多进程环境下的使用
Dec 26 #Javascript
Angular的事件和表单详解
Dec 26 #Javascript
Angular的MVC和作用域
Dec 26 #Javascript
JS中用try catch对代码运行的性能影响分析
Dec 26 #Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 #Javascript
Angular的$http与$location
Dec 26 #Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 #Javascript
You might like
世界收音机发展史
2021/03/01 无线电
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
python调用百度语音REST API
2018/08/30 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
python中取绝对值简单方法总结
2020/07/24 Python
如何启动时不需输入用户名与密码
2014/05/09 面试题
九年级语文教学反思
2014/02/04 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
成绩单评语
2015/01/04 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
2022漫威和DC电影上映作品
2022/04/05 欧美动漫