Kev*_*ing 2 subject subscription ngoninit angular5 angular6
我正在学习 Angular 5+,最近谈到主题/订阅部分,我看到很多教程都想以某种方式使用订阅:
但是,我不确定我们是否必须订阅/取消订阅 ngOnInit 和 ngOnDestroy 中组件中的每个订阅。例如,如果我的订阅将通过按钮单击事件进行更新,我应该在组件中订阅哪个计划?
为什么我们总是在 ngOnInit 中订阅订阅?ngOnInit 就像页面生命周期中的 Page_Load 一样,因此它只会在第一次被调用一次,如果是这样,每当订阅更新时,ngOnInit 是否会一遍又一遍地被触发?如果是这样,我的组件是否会被一遍又一遍地加载,这在大型应用程序中会导致性能问题?
小智 5
您通常将要订阅的 Observables 放入 Service 中,并通过 getter 和 setter 使它们可用。
\n\n当订阅 Observable 时,它的行为在某种程度上类似于 EventListener。每当 Observable 内的对象发生更改时,就会触发一个 Event,并执行订阅内的代码。此外,您还可以获得更新的对象。
\n\n即使您在 ngOnInit 内初始化订阅,也不会导致整个组件在更新到达时重新加载。仅那些由订阅内的代码更新的部分。
\n\n你不必\xe2\x80\x98t 必须在 ngOnInit() 中添加订阅。这取决于您想在组件中实现什么目标。但大多数时候,您希望在访问组件时直接加载和显示数据,并在数据发生变化时更新 UI。这就是为什么最好将订阅放在 ngOnInit() 中。
\n| 归档时间: |
|
| 查看次数: |
12400 次 |
| 最近记录: |