【发布时间】:2020-12-29 08:42:22
【问题描述】:
这是一个关于 Angular 的更笼统的问题 - 我对它很陌生 - 是一个彻头彻尾的 React 书呆子。
我的任务是将逻辑移动到 ngOnChanges,涵盖我们应该订阅、保留现有订阅或取消订阅的每种情况。我该怎么做?
这是一些示例代码:
ngOnInit() {
const obsValue$ = combineLatest([
this.store.pipe(select(this.example1Selector.getData())),
this.store.pipe(select(this.example2Selector.getData()))
]).pipe(
tap(([important1, important2]) => {
this.important1 = important1;
this.important2 = important2;
})
);
}
我想将此代码移动到 ngOnChange 并仅在需要时订阅并在必要时保留它并在必要时取消订阅。我该怎么做?
【问题讨论】:
-
问题一 - 为什么你认为你不能?问题二——你为什么要这样做?这是一个非常广泛的问题,您没有提供任何细节
-
您的问题需要更多细节,目标是什么?如果可以,请提供更多信息并显示一些代码。如何处理订阅视情况而定。如果您的组件是一个孩子,我根本不会“手动”订阅,而是使用异步管道。原则上,将订阅从 ngOninit 转移到 ngOnchanges 应该不是问题,但也没有任何意义。
-
我更新了一些信息,以便更清楚我想要实现的目标。
标签: angular rxjs angular2-observables