gpt4 book ai didi

angular - ionic 事件替换为 Angular Observables

转载 作者:行者123 更新时间:2023-12-03 22:47:47 24 4
gpt4 key购买 nike

我了解 Ionic 事件将在下一个版本中被弃用。目前,我使用事件从子组件执行父页面中的功能。这是一个例子:

在我的主页中,它订阅了要刷新的事件:

constructor(){
this.eventFormRefresh = (obj) => {
this.fetch(obj.isReset);
};
this.events.subscribe('form:refresh', this.eventFormRefresh);
}

ngOnDestroy(): void {
this.events.unsubscribe('form:refresh', this.eventFormRefresh);
}

在子组件中,我通过发布 'form:refresh' 事件来激活刷新,如下所示:
this.events.publish('form:refresh');

我将如何使用 angular observables 完成上述操作?

最佳答案

您可以使用 rxjs Subject为此,首先创建一个公共(public)服务,例如。

@Injectable()
export class EventService{
private formRefreshAnnouncedSource = new Subject();
formRefreshSource$ = this.formRefreshAnnouncedSource.asObservable();

publishFormRefresh(){
this.formRefreshAnnouncedSource.next()
}

}

然后像这样发布

this.eventService.publishFormRefresh();

并订阅一些组件

this.subscription = this.eventService.formRefreshSource$.subscribe(data => {
//do something here
});

cancel subscription在 ngOnDestroy 上

this.subscription.unsubscribe()

关于angular - ionic 事件替换为 Angular Observables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58265379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com