欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【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

这个东西本来是做单元测试的,例如如下代码:

【AngularJS】controller的继承
            
    
    
        AngularJS 

实际项目中,如下这么用,更方便

【AngularJS】controller的继承
            
    
    
        AngularJS 

看下接口定义:
$controller(constructor, locals);

第一个参数不难理解。
第二个,一般都这么写{$scope:$scope}。原因是,scope是html和controller之间的粘合剂,它和html强绑定,故而当想继承某个controller时,要把当前绑定的scope传入进去
  • 【AngularJS】controller的继承
            
    
    
        AngularJS 
  • 大小: 91.5 KB
  • 【AngularJS】controller的继承
            
    
    
        AngularJS 
  • 大小: 71.7 KB
相关标签: AngularJS