AngularJS控制器继承自另一控制器


Posted in Javascript onMay 09, 2016

AngularJS里控制器继承,常用的就是作用域嵌套作用域。默认情况下,当前作用域中无法找到某个属性时,就会在父级作用域中进行查找,若找不到直至查找到$rootScope。

但有些情况下,rootScope下就是我们的controller,不可能将大量的公用属性方法写到rootScope里去。

比如说有多个类似的页面,都有面包屑,搜索栏,工具栏,表格等元素,面包屑表格这种元素考虑做成directive,那么必然会有许多类似的配置需要从controller传到组件里去,也会产生很多工具类方法用于处理数据等,这时候在每个页面的controller里重复写相同的代码显然很难看,就需要用到继承。

在StackOverflow上找到了解决方案,原来AngularJS已经考虑到这种情况了,提供了$controller

var app = angular.module('angularjs-starter', []); 
app.controller('ParentCtrl ', function($scope) {
// I'm the sibling, but want to act as parent
});
app.controller('ChildCtrl', function($scope, $controller) {
$controller('ParentCtrl', {$scope: $scope}); //This works
});

以上所述是小编给大家介绍的AngularJS控制器继承自另一控制器的相关知识,希望对大家有所帮助!

Javascript 相关文章推荐
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
总结Javascript中数组各种去重的方法
Oct 04 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
基于Angular.js实现的触摸滑动动画实例代码
Feb 19 Javascript
网页中右键功能的实现方法之contextMenu的使用
Feb 20 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
微信小程序自动客服功能
Nov 02 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 Javascript
Javascript三种字符串连接方式及性能比较
May 28 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 #Javascript
ajax跨域调用webservice的实现代码
May 09 #Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
Dec 22 #Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
Mar 26 #Javascript
jQuery实现三级菜单的代码
May 09 #Javascript
Boostrap入门准备之border box
May 09 #Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 #Javascript
You might like
jQuery的强大选择器小结
2009/12/27 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python3使用requests发闪存的方法
2016/05/11 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
Python socket模块方法实现详解
2019/11/05 Python
python实现智能语音天气预报
2019/12/02 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
五型班组建设方案
2014/02/10 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL