代码之家  ›  专栏  ›  技术社区  ›  Mike Me

每次用户以角度更新输入文本字段时调用函数

  •  -1
  • Mike Me  · 技术社区  · 6 年前

    我的目标是每当用户在输入文本字段中修改时调用一个函数。

    在我的示例中,每当用户在文本字段中添加或删除应调用的字符时 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;
      }
    }
    

    Live Demo is here.

    我以前看到过,它是$watch,但在官方文档中找不到Angular5的例子。

    2 回复  |  直到 6 年前
        1
  •  3
  •   user184994    6 年前

    如果它是用 [(ngModel)] ,您可以使用 (ngModelChange) ,就像这样:

    <input maxlength="10" placeholder="Text" (ngModelChange)="didModify()" [(ngModel)]="text1">
    

    这会叫 didModify 每次值改变时,即每次按键

    https://stackblitz.com/edit/angular-5zgbqm?file=src/app/app.component.html

        2
  •  1
  •   Oscar Paz    6 年前

    只需绑定到 input 事件,在以任何方式修改输入内容(包括粘贴、选择和删除等)时激发:

    <input (input)="didModify()" ... />
    

    你来了。

    https://stackblitz.com/edit/angular-ibuqqf