首页 > 其他 > 详细

angular中基类使用了依赖注入,在所有子类继承时都要注入 一旦基类变更 后期不好调整

时间:2019-05-26 14:38:48      阅读:239      评论:0      收藏:0      [点我收藏+]

首先感谢 https://segmentfault.com/q/1010000010668240 解决方案是从这篇文章找到的

之前做一个项目 是类似erp系统的网站版 所以做了一个单据的基类  之前做的时候 不了解angular注入的这部分

导致后期要增加注入服务的时候 所有的子类都需要改 很不好调整  在网上找到了解决方案 如下:  

 

解决方案:

使用Injector,然后子类只需要注入一个Injector并传给基类就可以了,基类需要的其他注入通过Injector进行
基类注入的类型使用protected描述符,这样子类也可以直接调用
基类
abstract class BaseService {
protected http: Http;
protected router: Router;
constructor (private baseInjector: Injector) {
this.http = this.baseInjector.get(Http);
this.router = this.baseInjector.get(Router);
}
// ...
}
子类
@Injectable()
export class AreaService extends BaseService {
constructor(private injector: Injector) {
super(injector);
}
}

angular中基类使用了依赖注入,在所有子类继承时都要注入 一旦基类变更 后期不好调整

原文:https://www.cnblogs.com/zenglh/p/10925831.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!