在Angular 2中ngIf中的条件变为true时触发函数

时间:2017-02-18 04:47:27

标签: angular

有没有一种方法可以在ngIf条件变为true并且相应地呈现DOM之后触发函数?

条件:点击和ngif应用于不同的块

1 个答案:

答案 0 :(得分:1)

您可以在trigger属性上使用getter / setter。

使用以下代码,<div>呈现,doSomething()方法会在您this.trigger = true后立即执行:

@Component({
  template: `<div *ngIf="trigger">I've been triggered</div>`
})
export class MyComp {
  private _trigger = false;

  get trigger() {
    return this._trigger;
  }

  set trigger(val) {
    this._trigger = val;
    this.doSomething();  // Call some method
  }

  doSomething() {
    // ...
  }
}