Angular ReactiveFrorm: setValue是否应该触发ngModelChange?

问题描述 投票:0回答:1

我有以下代码。

<form [formGroup]="form" (ngSubmit)="register()">
    <div>
        <input type="text" formControlName="username" (ngModelChange)="updateErrors('username')" />
    </div>

    <div>
      <button size="large" type="button" (click)="form.get('username').setValue('User')">Set username</button>
    </div>
</form>

当我点击 "设置用户名 "按钮的时候。username 变而 updateErrors 方法没有被调用。

应该调用吗?也许不应该,但我不明白关于 ngModelChange 事件... (?)

angular angular-reactive-forms
1个回答
2
投票

你不应该把ngModel和反应式表单混合使用。 当使用窗体时,你可以通过使用

  this.form.valueChanges
     .subscribe(evt => {
        console.info(evt)
     });

不要忘记退订。在Angular中取消订阅Observables的6种方法。

© www.soinside.com 2019 - 2024. All rights reserved.