我有设置数据的服务。但问题是所有页面都设置了数据。我想要的是当我点击其他页面时清空数据。任何建议我怎么能这样做?
这是我设置和获取的服务:
setCustomer(id, accountClassCode) {
if(!this.gups.isEmptyObject(this.customer)){
this.customer.next({ 'id': id, 'accountClassCode': accountClassCode });
}
}
getCustomer() {
return this.customer.asObservable();
}
在组件中我得到这样的数据:
this.subscription = this.ups.getCustomer().take(1).subscribe((data: any) => {
if (data.id) {
if (data.accountClassCode === 'CA') {
this.fillGridFromSearchPopup({ 'caId': data.id });
} else if (data.accountClassCode === 'BA') {
this.fillGridFromSearchPopup({ 'baId': data.id });
}
}
});
现在点击我从服务中获取空数据
答案 0 :(得分:0)
在要获取数据的组件上,运行ngOnDestroy。在该方法中,结束服务。离开该组件时,该方法将运行,即转到另一个路径。基本上会是这样的:
ngOnDestroy() {
this.subscription.unsubscribe();
}