Mil*_*uzz 5 javascript typescript angular
我知道要将依赖项注入 Angular2 组件,我只需在其构造函数中注释一个参数,就像这里的 ThingService. 我想了解的是 Angular 如何知道在运行时注入什么,据我所知,这只是 TypeScript 注释,在运行时没有任何意义。管理哪些提供者放置在组件构造函数中的位置的低级内部机制是什么。如果你自己推出这个系统,它会如何工作。这是我不理解的打字稿机制吗?
@Component({
selector: 'app-thing',
templateUrl: './thing.component.html',
styleUrls: ['./thing.component.scss']
})
export class ThingComponent {
constructor(
private thingService: ThingService) {
}
}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话,你是在要求一个更理论的(ts 后面的 js)答案。
根据我读过的内容;Angular2 注入系统创建该提供程序对象/函数的实例,并在您像在构造函数中那样定义它时在该组件中使用该实例。如果您没有在正在使用的组件中提供它,那么它将转到它的父组件,直到它所使用的模块。每个级别都有自己的提供程序实例映射,并且组件将使用向上遍历注入树时找到的第一个实例。
因此,提供者在定义之前将是一个单例实例。
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |