簡體   English   中英

ngOnChanges 只執行一次

[英]ngOnChanges gets executed only once

我在我的子組件中使用了 ngonchange,如下所示。 但我看到它只執行一次。 所以基本上我的子組件中有一個下拉列表,所以當我在下拉列表中更改某些內容時,我希望執行 ngonchange,這只會發生一次。 我第二次更改項目時,ngonchange 沒有被執行。

ngOnChanges(changes: SimpleChanges){
  console.info(changes.test);
  if(this.test!=null){
    console.info(this.test);
    this.currentSnapshotPeriod = this.snapshotPeriods.filter(x => x.periodName === this.test)[0];
 this.onCurrentSnapshotPeriodChange();
 changes.SimpleChanges.currentValue = undefined;
  }
}

父 HTML:

<app-snapshot-period-dropdown
                       [test]=input
                         (change)="abc($event)"
                        >
                    </app-snapshot-period-dropdown>

兒童 HTML:

<select
      id="currentPeriodDropDown"
      (change)="onCurrentSnapshotPeriodChange()"
      [(ngModel)]="currentSnapshotPeriod"
      class="form-control form-control-sm mr-1 form-control-sm-ipad"
    >
      <option [ngValue]="period" *ngFor="let period of snapshotPeriods"
        >{{ period?.periodName }}
      </option>
    </select>

ngOnChanges 僅在 @Input() 從父組件更改時觸發,而不是在您在子組件中更改它時觸發。 這是我犯的錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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