我正在尝试添加值,并且还需要通过与新值进行比较来删除以前的值。
var total = [];
onSearchChange(event) {
total.push(event);
var sumNumber = total.reduce(
(acc, cur) => acc + Number(cur),
0
);
console.log("get all the changed value, I need to remove the previous values in the total list");
}
<input type='number' (input)="onSearchChange($event.target.value)" />
答案 0 :(得分:0)
我不知道事件本身是否保留先前的值。您可以创建一个组件属性来保存先前的值,并在每个input
事件中对其进行设置。
<input id="inputId" type="number" value=23 (input)="foo($event.target.value)">
// have some default value only if you want
previousValue: number
foo(value) {
console.log("previous value ", this.previousValue);
console.log("new value ", value);
this.previousValue = value
}
ngAfterViewInit() {
this.previousValue = parseInt((<HTMLInputElement>document.getElementById('inputId')).value)
}
https://stackblitz.com/edit/angular-ufd15s?file=src%2Fapp%2Fapp.component.ts
您还可以在keydown
元素上添加一个辅助事件侦听器input
(似乎没有必要,只是在说)。 keydown
会在input
之前出现,因此使用keydown可以获取先前的值。 https://stackblitz.com/edit/angular-sjxvgp?file=src%2Fapp%2Fapp.component.ts