簡體   English   中英

更改檢測角度2模型的屬性

[英]change detection angular 2 model's property

如果模型的屬性發生更改,則每次都需要調用JQuery函數。

person = {firstName:firstName, lastName:lastName}

例如,如果我更改了人員對象的firstName屬性,則每次需要觸發一個函數時。 實際上,我需要類似訂閱此對象屬性的內容。

這怎么可能?

提前致謝。

聽起來您正在尋找DoCheck指向文檔的鏈接 )生命周期掛鈎。 此事件將在每輪完整的變更檢測之后觸發。 請記住,盡管它可能會被觸發很多,並且在該掛鈎中執行繁重的操作可能會對性能產生重大負面影響。

這是一個示例,該示例在person.firstName屬性上查找更改,如果找到更改,則將其記錄到控制台:

import { Component, DoCheck } from '@angular/core';

@Component({
  selector: 'app-root',
  template: `<input type="text" [(ngModel)]="person.firstName">`,
  styleUrls: ['./app.component.css']
})
export class AppComponent implements DoCheck {
  person = { firstName: 'Donald', lastName: 'Duck' };
  oldFirstName: string;

  ngDoCheck() {
    if (this.person.firstName !== this.oldFirstName) {
      console.log(`Change first name from "${this.oldFirstName}" to "${this.person.firstName}"`);
      this.oldFirstName = this.person.firstName;
    }
  }
}

暫無
暫無

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

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