手动初始化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 相关文章推荐
用javascript实现画板的代码
Sep 05 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 Javascript
JavaScript编程中容易出BUG的几点小知识
Jan 31 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
May 11 Javascript
JavaScript中用toString()方法返回时间为字符串
Jun 12 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
jQuery实现的导航下拉菜单效果示例
Sep 05 Javascript
Node.js复制文件的方法示例
Dec 29 Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
详解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
php 获取完整url地址
2008/12/20 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
深入PHP curl参数的详解
2013/06/17 PHP
php数据库备份还原类分享
2014/03/20 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
UNIX文件名称有什么规定
2013/03/25 面试题
降消项目实施方案
2014/03/30 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
个人委托书范本汇总
2014/10/01 职场文书
授权委托书协议书
2014/10/16 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
小学中等生评语
2014/12/29 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
离婚财产分割协议书
2015/08/11 职场文书