Heim > Fragen und Antworten > Hauptteil
Ich verwende BootstrapVue
.
Was ich tun möchte: Ich habe eine b-form-input
, in die ich eine b-form-input
,我在其中写了一个数字。单击我的 b-button
后,我想将其添加到我的 inputs
中。这很好用,但现在我想先检查我的号码是否仍在我的 inputs
Nummer
B-Button
geklickt wurde, möchte ich ihn zu meinen Eingaben
hinzufügen. Das funktioniert super, aber jetzt möchte ich zunächst prüfen, ob meine Nummer noch in meinen Eingaben
enthalten ist.
inputs
添加某些内容后,我总是收到以下错误:[Vue warn]:v-on 处理程序错误:“TypeError:this.inputs[i] 未定义” “
Ich versuche meine for-loop
Ich habe angegeben, dass alles in meinen Daten korrekt ist und ohne this.inputs[0].number
es einwandfrei funktioniert. Was ist hier los? Ich kann es nicht herausfinden..
Wenn ich das versuche:
Ich erhalte die richtigen Daten..Danke, dass du versucht hast, mir zu helfen!
Code in meiner Vorlage:
<b-form-input v-model="number"></b-form-input> <b-button @click="addSomething(number)"></b-button>Code in meinem Skript: 🎜🎜
addSomething(number) { if(this.inputs != []) { for(let i = 0; i <= this.inputs.length; i++) { if(number === this.inputs[i].number) { console.log("Still existing!"); } else if(number !== this.inputs[i].number) { this.inputs.push({ INPUT_NUMBER: number, }) } } } },🎜
P粉4211197782024-03-27 12:29:11
使用条件 i <= this.inputs.length
您正在超出数组的范围。在 JavaScript 中,对数组进行过度索引会返回 undefined
。
固定处理程序应该是:
addSomething(number) { if(this.inputs != []) { for(let i = 0; i < this.inputs.length; i++) { if(number === this.inputs[i].number) { console.log("Still existing!"); } else if(number !== this.inputs[i].number) { this.inputs.push({ INPUT_NUMBER: number, }) } } } },