【AngularJS】controller的继承 AngularJS
程序员文章站
2024-03-18 13:27:22
...
谈到angularJS controller的继承,一般都会想到父子scope,对应的父子controller,才能做好继承。
实践中有这样的一个场景,有2套页面,页面组件,风格大部分都一样,不同的可能是绑定的数据等稍有不同,如果简单copy一下html模板,controll的js文件,也能达到完成任务的效果,但是坏处是一份代码写了2边,如果万一要调整代码,还要改写2份,那AngularJS有没有提供这种场景下的controller继承实现呢
有,那就是$controller 服务,参考 https://docs.angularjs.org/api/ng/service/$controller
这个东西本来是做单元测试的,例如如下代码:
实际项目中,如下这么用,更方便
看下接口定义:
$controller(constructor, locals);
第一个参数不难理解。
第二个,一般都这么写{$scope:$scope}。原因是,scope是html和controller之间的粘合剂,它和html强绑定,故而当想继承某个controller时,要把当前绑定的scope传入进去
实践中有这样的一个场景,有2套页面,页面组件,风格大部分都一样,不同的可能是绑定的数据等稍有不同,如果简单copy一下html模板,controll的js文件,也能达到完成任务的效果,但是坏处是一份代码写了2边,如果万一要调整代码,还要改写2份,那AngularJS有没有提供这种场景下的controller继承实现呢
有,那就是$controller 服务,参考 https://docs.angularjs.org/api/ng/service/$controller
这个东西本来是做单元测试的,例如如下代码:
实际项目中,如下这么用,更方便
看下接口定义:
$controller(constructor, locals);
第一个参数不难理解。
第二个,一般都这么写{$scope:$scope}。原因是,scope是html和controller之间的粘合剂,它和html强绑定,故而当想继承某个controller时,要把当前绑定的scope传入进去
上一篇: 【mac】fish mac
下一篇: 折纸的不归路(9)
推荐阅读
-
【AngularJS】controller的继承 AngularJS
-
angularjs~中的下拉框,以及数据的回显,并且还可以实现下拉框的功能 博客分类: 前端笔记 下拉框
-
AngularJS的ngroute 路由传参
-
angularJs之如何获取input的焦点(自定义指令)
-
深究AngularJS—如何获取input的焦点(自定义指令)
-
Angularjs的基本结构 博客分类: angularjs
-
angularjs的$http请求(REST API) 博客分类: Rest APIangularjs
-
Angularjs controller之间的信息传递 博客分类: angularjs
-
Angularjs的基本结构 博客分类: angularjs
-
Angularjs controller之间的信息传递 博客分类: angularjs