我正在从事一个项目(Ionic3和Angular5)。
我已从外部.js文件更改了以下输入中的值
<input [(ngModel)]="name"
(ngModelChange)="valueChange()"
id="data">
但是不会调用函数valueChange()
。
我之前在使用$scope.$apply
的 Angular1 中完成了这项工作,但在 Angular5 中,我不知道如何做同样的事情。在 Angular5
答案 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/