我只想每次单击按钮将值添加到数组中。但是,当我 ID ABC XYZ LMN
1 12,34 NULL 90
2 34 55,44 NULL
3 1,4,5 NULL NULL
4 NULL 33 101,100
时,我只会得到输入的最后一个值,而不是以前的值
console.log(this.arr)
答案 0 :(得分:0)
您每次点击都在创建Deposit()
的新实例。
为防止这种情况,请将new Deposit()
实例化带出客户端事件之外,因此Deposit()
仅被实例化一次:
const input = document.getElementById('input');
const deposit = document.getElementById('deposit');
class Deposit {
constructor() {
this.arr = [];
this.sum = 0;
}
addDeposit(value) {
let v = value;
this.arr.push(v);
console.log(this.arr)
}
}
let newDeposit = new Deposit();
deposit.addEventListener('click', () => {
let value = input.value;
newDeposit.addDeposit(value)
})
<input id="input">
<button id="deposit">Deposit</button>
答案 1 :(得分:0)
尝试
const input = document.getElementById('input');
const deposit = document.getElementById('deposit');
class Deposit {
constructor() {
this.arr = [];
this.sum = 0;
}
addDeposit(value) {
let v = value;
this.arr.push(v);
console.log(this.arr)
}
}
let newDeposit = new Deposit();
deposit.addEventListener('click', () => {
let value = input.value;
newDeposit.addDeposit(value)
})
<input id="input">
<button id="deposit">Deposit</button>
答案 2 :(得分:0)
如果我理解您的问题,则必须编写newDeposit = new Deposit();退出箭头功能,否则您将覆盖对象...
一个例子:
Anaconda (Conda)
希望这会有所帮助