在标题中,我需要取消订阅组件中的行为主题。行为主题位于全局静态服务中。继承人
中的行为主体private _salesPlanId = new BehaviorSubject<number>(undefined);
salesPlanId$ = this._salesPlanId.asObservable();
changeSalesPlanId(data) {
this._salesPlanId.next(data);
}
我开始在lifececyle OnInit中的组件内订阅它:
ngOnInit() {
this.mySubscription = this.service.salesPlanId$.subscribe(id => {
if (id === undefinied){
this.service.getId.subscribe(id => {
this.service.changeSalesPlanId.next(id);
}
}else{
this.id = id;
}
}
});
问题是我想要销毁组件以取消订阅元素和 把这个行为再次变为未定,我这样做:
ngOnDestroy() {
this.mySubscription.unsubscribe();
this.flex.changeSalesPlanId(undefined);
}
但是在usubscribe之后OnDestroy我改变了一个salesPlan Inside服务,我看到这个组件恢复了未定值,并再次启动id?有没有走路?