我的目标是在用户修改输入文本字段时调用函数。
在我的示例中,每次用户在文本字段中添加或删除字符时,都应在同步中调用didModify()
,从而将{1}添加到changeCounter
。
我的 .html :
<div class="pb-1">
<input maxlength="10" placeholder="Text">
</div>
<p class="changedClass">{{changeCounter}}</p>
我的 .ts
export class AppComponent {
name = 'Angular 6';
text1 = '';
changeCounter = 0;
didModify() {
this.changeCounter = this.changeCounter + 1;
return this.changeCounter;
}
}
我过去看过,这是$ watch,但我无法在Angular 5的官方文档中找到一个例子。
答案 0 :(得分:3)
如果使用[(ngModel)]
进行绑定,您可以使用(ngModelChange)
,如下所示:
<input maxlength="10" placeholder="Text" (ngModelChange)="didModify()" [(ngModel)]="text1">
每次值改变时,这将调用didModify
,即每次击键
https://stackblitz.com/edit/angular-5zgbqm?file=src/app/app.component.html
答案 1 :(得分:1)
只需绑定到input
事件,只要输入内容以任何方式被修改(包括粘贴,选择和删除等),就会触发该事件:
<input (input)="didModify()" ... />
你有。