你不了解的Hacker,实现AngularJS Controller的继承扩展
程序开发
2023-09-25 21:23:42
直入主题。
AngularJS是一个极其庞大的MVVM框架,其中的Controller是最常用的特性。然而Controller并没有提供继承和扩展的方法。
在实际的业务场景下,不能扩展的Controller很让开发人员头痛。今天我们就来聊聊在AngularJS中有哪些Hacker,让你使用Controller时如鱼得水。
附上相关代码的下载链接 https://github.com/Aricgit/angular-controller-inherit
1. 针对Controller添加公共方法(使用Controller的“伪继承”) AngularJS中的Controller继承,并不是真的继承,而是针对Controller添加公有的方法,所以称之为"伪继承"
2. 对父类的方法进行扩展 针对公共的父类方法,如果单个模块需要扩展,我们可以使用AngularJS提供的scope订阅发布模式实现。 父类广播事件
子类订阅事件
3. 直接重写方法,而非进行扩展 原理和扩展大同小异,只是在广播事件中加入数据。 父类方法检查数据
子类方法加入逻辑判断
上述方法,即可在复杂的AngularJS中实现针对业务的扩展,简单易用,可谓利器。
AngularJS是一个极其庞大的MVVM框架,其中的Controller是最常用的特性。然而Controller并没有提供继承和扩展的方法。
在实际的业务场景下,不能扩展的Controller很让开发人员头痛。今天我们就来聊聊在AngularJS中有哪些Hacker,让你使用Controller时如鱼得水。
附上相关代码的下载链接 https://github.com/Aricgit/angular-controller-inherit
1. 针对Controller添加公共方法(使用Controller的“伪继承”) AngularJS中的Controller继承,并不是真的继承,而是针对Controller添加公有的方法,所以称之为"伪继承"
2. 对父类的方法进行扩展 针对公共的父类方法,如果单个模块需要扩展,我们可以使用AngularJS提供的scope订阅发布模式实现。 父类广播事件
子类订阅事件
3. 直接重写方法,而非进行扩展 原理和扩展大同小异,只是在广播事件中加入数据。 父类方法检查数据
子类方法加入逻辑判断
上述方法,即可在复杂的AngularJS中实现针对业务的扩展,简单易用,可谓利器。
标签:
相关文章
-
无相关信息