簡體   English   中英

如何使用BehaviorSubject Angular 5更新點擊對象值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM