RV.*_*RV. 0 typescript angular
我想检测输入的文本是否在 Angular 的 onBlur 事件中发生了变化。如果是,则执行一些操作:
处理模糊的条件:
这是已建立模糊事件的代码版本的 stackblitz 链接。但即使输入未更改,它也会登录控制台:
https://stackblitz.com/edit/angular-ngmodelchange-blur-8er79o?file=app/app.component.ts
你可以做什么:
<input (focus)="saveValue()" (blur)="processChange()" [(ngModel)]="someValue" ... />
Run Code Online (Sandbox Code Playgroud)
someValue = "nice";
prevValue = this.someValue;
saveValue() {
this.prevValue = this.someValue;
}
processChange() {
if (this.someValue !== this.prevValue) {
console.log("The value has changed!!!");
// Do some additional processing...
}
}
Run Code Online (Sandbox Code Playgroud)
有关演示,请参阅此 stackblitz。
如果不想更改组件代码,请将值保存在元素的属性中:
<input #txt type="text" name="field"
(focus)="txt.setAttribute('data-value', someValue)"
(blur)="txt.getAttribute('data-value') !== someValue ? processChange() : ''"
[(ngModel)]="someValue" />
Run Code Online (Sandbox Code Playgroud)
有关演示,请参阅此 stackblitz。
| 归档时间: |
|
| 查看次数: |
7578 次 |
| 最近记录: |