【发布时间】:2022-06-10 18:07:25
【问题描述】:
我在 Angular 中有以下示例代码:
@Injectable({
providedIn: 'root',
})
export class MyService {
constructor(private dependentService: DependentService) {} // this is called second
public myField$ = this.init() // this is called first
init(){
return this.dependentService.getAnObservable()
}
}
当 MyService 被实例化时:
-
myField$ 在调用 constructor 之前首先被初始化。我可以通过使用例如 console.log
来验证这一点 -
但是,myField$ 初始化依赖于 dependentService,它再次通过 构造函数
注入
那怎么可能没有任何错误呢?
【问题讨论】:
-
只需在ctor(?)中分配
myField$
标签: angular ecmascript-6 dependency-injection es6-class