angular - 为什么更改事件会在 controlValueAccessor 模糊时触发

标签 angular angular-reactive-forms angular-forms

如果我在我的模板中放置一个实现 ControlValueAccessor 接口(interface)的自定义输入并像这样绑定(bind)到它的更改事件:

  <input-app [value]="'initialVal'" (change)="onChange($event)"></input-app>

我的自定义输入不会在模糊时触发任何事件(要清楚,您必须专注于输入,更改它,然后模糊,然后该事件将出现在控制台中)。

<input
    type="text"
    [value]="value"/>

将调用 onChange() 方法,我不明白为什么会这样。

Here is a plnkr

最佳答案

(change) 应该被触发

when a change in the input value causes a new value to be committed to the model.

但在这种情况下,我认为您没有使用模型。

你想要的是每次输入时都做一些事情,所以我会改用 (keyup)

<input-app [value]="'hey'"  placeholder="your name" (keyup)="onChange($event)"></input-app>

关于angular - 为什么更改事件会在 controlValueAccessor 模糊时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47902777/

相关文章:

angular - 尝试使用 Angular 7 中的拦截器在刷新 token 后重复 http 请求

angular - 如何解决资源被阻止,Angular 中的 MIME 类型不匹配?

json - 如何在 Angular6 中从 JSON 文件获取日期值

angular - 在 Angular 4 Reactive Forms 中提交时显示验证消息

angular - Angular 6 react 形式的两种方式绑定(bind)

Angular- react 形式 : How to validate fields after patchValue

javascript - 如何在异步验证器中使用 debounceTime() 和 distinctUntilChanged()

Angular 8/ Material : subform not showing errors

javascript - AngularJs $q promise 与 async/await 兼容吗?

键入时进行 Angular 响应式(Reactive)表单验证