這樣寫法是太畫蛇添足了嗎? 使用pipe() next: :Subscription

一樣又是表單的欄位問題
希望達成的動作
也是偵測欄位變動再設定回去

想知道
.pipe()
:Subscription
.subscribe中 next:
這些東西的使用時機和效能效益及同步非同步之類的影響

謝謝

因為覺得自己下面這種寫法是不是太畫蛇添足了

aaaa0790Subscribe: Subscription;

ngOnInit() {
// 0790選項訂閱並連動設置驗證器      
this.aaaa0790Subscribe = this.AAAManageSideFormGroup.controls.aaaa0790
      .valueChanges
      .pipe()
      .subscribe({
        next: res => {
          if (res) {
            // 設置disable選項
            this.checkAAA0790HaveA1(res);
          }
        },
      });  
 }


// 取消訂閱
  ngOnDestroy() {
    this.aaaa0790Subscribe.unsubscribe();
  }

// 0790
  checkAAA0790HaveA1(res: string[]) {
    const is0790HaveA1 = res.includes('a1');
    if (is0790HaveA1 === true) {
      this.AAAManageSideFormGroup.controls['aaaa0790'].setValue(['a1'], {
        emitEvent: false,
      });
    } else {
    }
  }

關於 pipe, subscribe, Subscription 這些都是 RxJS 的基礎,可以找相關的文章來看

1個讚