如何从服务中清空数据?

时间:2017-06-27 09:59:11

标签: angular

我有设置数据的服务。但问题是所有页面都设置了数据。我想要的是当我点击其他页面时清空数据。任何建议我怎么能这样做?

这是我设置和获取的服务:

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 });
        }
    }
});

现在点击我从服务中获取空数据

1 个答案:

答案 0 :(得分:0)

在要获取数据的组件上,运行ngOnDestroy。在该方法中,结束服务。离开该组件时,该方法将运行,即转到另一个路径。基本上会是这样的:

ngOnDestroy() {
    this.subscription.unsubscribe();
}