angular - 通过使用模型设置值不会触发角度输入事件
问题描述
我使用一个输入字段,它在其中的值发生变化时调用一个方法。但是当我通过ngModel
(不是手动输入)在输入字段中设置值时,不会触发输入字段的“值更改”事件。
输入字段:
<div>
<input type="text" id="orderNumberFilter" (input)="updateOrderNumberFilter($event)" [(ngModel)]="orderNumberFilterValue">
</div>
零件:
public updateData(evt: any): void {
.finally(() => {
this.orderNumberFilterValue = "test"
})
.subscribe(
//get data from backend
});
}
public updateOrderNumberFilter(evt: any): void {
//do stuff with the event
}
解决方案
它不会被触发,因为input
事件只会在用户交互期间触发。
您可以使用Reactive Forms
而不是Template Driven Forms
使用它的valueChanges
功能来监听控件值的变化。
您可以在此处阅读有关Reactive Form 值更改的另一个答案
更新
您可以声明您的函数以获取value
输入的
public updateOrderNumberFilter(value: any): void {
}
在标记中附加它$event.target.value
<input type="text" id="orderNumberFilter" (input)="updateOrderNumberFilter($event.target.value)" [(ngModel)]="orderNumberFilterValue">
并在 中调用它finally
并通过value
.
推荐阅读
- jquery - wordpress:AppMe 主题在 macOS 中不播放背景视频
- c++ - 我可以存储指向转发声明的类/结构的指针吗?
- mongodb - MongoDB中的聚合总和
- fortran - gfortran -fopenmp 导致分段错误
- html - CSS按钮滑动过渡效果问题
- architecture - Xcode 12 Apple M1 arm64 - 可设计错误:“错误的架构”
- excel - 当我已经在变量中设置文件名和路径时如何关闭工作簿
- python - Tensorflow:梯度在训练过程中突然变成了 NaN
- xml - 如何删除 PostgreSQL 中的 XML 属性?
- angular - 从 @ 开始的 Angular 模块