谈到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传入进去
【AngularJS】controller的继承
猜你喜欢
转载自v7sky.iteye.com/blog/2335865
今日推荐
周排行