2017-02-04 18 views
0

私のモデルのプロパティーが変更された場合は、毎回JQuery関数を呼び出す必要があります。一例として変化検出角度2モデルのプロパティ

person = {firstName:firstName, lastName:lastName} 

私は、私は機能を起動する必要があるたびに、人物オブジェクトのfirstNameのプロパティを変更した場合。実際には、このオブジェクトのプロパティのサブスクリプションのようなものが必要です。

どうすれば可能ですか?

ありがとうございます。

+0

が、それはあなたを助けますかどうかを確認するために私の答えを見てください。 –

答えて

0

DoChecklink to docs)ライフサイクルフックを探しているようです。これは、変更の検出が完了するたびにトリガーされるイベントです。しかし、潜在的に多くのトリガーがかかり、そのフックで大量の操作を行うとパフォーマンスに重大な悪影響が及ぶ可能性があることに注意してください。ここで

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; 
    } 
    } 
} 
関連する問題