在我的示例中,我有2页,主页和问候。在home
页面上,我将一些值设置为BehaviorSubject
并订阅以在同一页面上显示数据。
在导航到下一页时,我正在订阅相同的共享库,但是这次,我要求共享库具有默认值。而不是我在home
页中设置的数据。
如果是这样,我如何从hello
清除并导航到home page
页。将共享对象设置为默认值的方法是什么?
根据要求,我需要在所有页面上使用相同的可共享对象,用户可以直接进入所需页面。这样共享对象应该为空。
有人帮我吗?
以下是我的服务摘要:
import {Injectable} from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable()
export class SharedDataService {
constructor(){}
staticData:object = {
"name":"",
"city":"",
"pin":""
}
sharedData = new BehaviorSubject(this.staticData);
sharedObserver = this.sharedData.asObservable();
updateSharedData(object){
this.sharedData.next(object);
}
clearSharedData(){
this.sharedData.next(this.staticData);
}
}
Live Demo-导航到问候页面并查看控制台。