[英]How to change the value of BehaviorSubject using map/filter/find/findIndex in angular
[英]How to update object value on click using behaviorsubject Angular 5?
Service.ts:我已經在service.ts文件中創建了一個對象,現在我想使用BehaviorSubject更新對象值,因此可以在我的不同組件中使用此更新的對象
private _menuUpdate = {
bankFlag: false,
contactsFlag: false,
educationDataFlag: false,
examFlag: false,
existingRelationShipFlag: false,
nomineeFlag: false,
personalFlag: false,
supportDocsFalg: false,
workExpFlag: false
}
public menuDisableStatus = new BehaviorSubject<Object>(this._menuUpdate);
menuStatus = this.menuDisableStatus.asObservable();
changeStatus(statusObj) {
this.menuDisableStatus.next(statusObj);
}
現在在我的components1.ts示例中
click(){
this.menuDisableStatus.educationDataFlag = true;
this.mliService.changeStatus(this.menuDisableStatus.educationDataFlag);
}
現在在我的components2.ts示例中
this.mliService.menuStatus.subscribe((data) => {
this.menuDisableStatus = data;
});
console.log(this.menuDisableStatus);
在這里,控制台給我“ true”而不是Update對象。
在您的component1中,您將changeStatus(以及可觀察到的“下一個”)調用給主主題,而不是主主題的屬性。
將其更改為this.mliService.changeStatus(this.menuDisableStatus);
它應該工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.