$ scope。$在Angular5中应用等价物

时间:2018-05-05 07:58:30

标签: angular ionic-framework

我正在从事一个项目(Ionic3和Angular5)。

我已从外部.js文件更改了以下输入中的值

<input [(ngModel)]="name" 
       (ngModelChange)="valueChange()" 
       id="data">

但是不会调用函数valueChange()

我之前在使用$scope.$apply Angular1 中完成了这项工作,但在 Angular5 中,我不知道如何做同样的事情。在 Angular5

中执行此操作的等效方法是什么?

1 个答案:

答案 0 :(得分:0)

markForCheck():标记要检查的所有ChangeDetectionStrategy祖先。 detectChanges():检查更改检测器及其子项。

实施例: -

import { Component,
         Input,
         ChangeDetectionStrategy,
         ChangeDetectorRef } from '@angular/core';

@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class ChildComponent {
  @Input() data: string[];

  constructor(private cd: ChangeDetectorRef) {}

  refresh() {
    this.cd.detectChanges();
  }
}

这是关于角度变化检测的非常好的文章: - https://alligator.io/angular/change-detection-strategy/