手动初始化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代码
Aug 13 Javascript
用Javascript 获取页面元素的位置的代码
Sep 25 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
javascript实现的登陆遮罩效果汇总
Nov 09 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
微信小程序 css使用技巧总结
Jan 09 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
Apr 16 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
Jan 21 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 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
Zend公司全球首推PHP认证
2006/10/09 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
JavaScript中的this机制
2016/01/30 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
package.json文件配置详解
2017/06/15 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
python实用代码片段收集贴
2015/06/03 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
python使用tkinter实现简单计算器
2018/01/30 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
党支部创先争优承诺书
2014/08/30 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2014年电教工作总结
2014/12/19 职场文书
2015教师节通讯稿
2015/07/20 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
如何书写授权委托书?
2019/06/25 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书