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