繁体   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