我知道我们可以使用@Input和onChange钩子来检测子组件中父组件中所做的更改。 但我的用例是检测在同一组件内对模型所做的更改。 component.ts:
export class MyComponent implements OnInit {
private myExmapleModel: MyModel;
ngOnInit: void {
this.momyExmapleModeldel = new MyModel('', '', '');
}
}
我将myExampleModel双向绑定到模板html,并希望在MyModel实例中的值在同一个MyComponent中更改时触发函数。我怎么能这样做?
答案 0 :(得分:1)
如果您在html中使用myExmapleModel
,请执行以下操作:
<input ([ngModel])="myExmapleModel">
您可以像这样使用ngModelChange
回调:
<input [ngModel]="myExmapleModel" (ngModelChange)="onChange($event)"
答案 1 :(得分:0)
如果你想检测输入的变化,使用输入事件或想要检测焦点的变化,即光标不在输入框中,请使用change-event
<input [(ngModel)]="name" (input)="changed()" />
<input [(ngModel)]="name" (change)="changed()" />
changed() {
console.log('name changed')
}