是否可以将服务注入父类? 我有两节课。一个父类和前一个。 IncomeService扩展为parent。
父:
@Injectable()
export class ObjectService {
constructor(protected apiService: ApiService,
protected cacheService: CacheService) {
}
}
IncomeService
@Injectable()
export class IncomeService extends ObjectService {
test() {
this.apiService; //is undefined
}
}
我想向父母注入服务,因为每个孩子都会使用这些服务并在父类中使用。我看到angular不会将apiService
和cacheService
注入IncomeService。
它是一个功能还是一个bug?
答案 0 :(得分:4)
除了重复子类中的构造函数参数并使用super(...)
调用将其传递给超类之外,基本上没有其他方法。
@Injectable()
export class IncomeService extends ObjectService {
constructor(protected apiService: ApiService,
protected cacheService: CacheService) {
super(apiService, cacheService);
}
test() {
this.apiService; //is undefined
}
}
有一些丑陋的黑客可以解决这个问题,但我不鼓励。