在Angular 7+中,依赖注入和子类化的解决方案如下所示:
@Injectable
装饰器来声明该类可被注入依赖。import { Injectable } from '@angular/core';
@Injectable()
export class MyService {
constructor() { }
}
constructor
来注入依赖。注意在构造函数中将依赖声明为私有属性。import { MyService } from './my.service';
import { Component } from '@angular/core';
@Component({
selector: 'app-parent',
template: ' ',
providers: [MyService] // 注册服务
})
export class ParentComponent {
constructor(private myService: MyService) { }
}
constructor
来注入父类的依赖。在构造函数中使用super()
方法来调用父类的构造函数。import { MyService } from './my.service';
import { Component } from '@angular/core';
@Component({
selector: 'app-child',
template: 'Hello World!
',
})
export class ChildComponent extends ParentComponent {
constructor(private myService: MyService) {
super(myService);
}
}
这样,子类就可以继承父类的依赖注入,并且可以访问父类的依赖。
下一篇:Angular 7+ 模块化前端