Estoy trabajando con BootstrapVue .
Lo que estoy tratando de hacer: tengo una b-form-input donde escribo un número . Después de hacer clic en mi b-button quiero agregar esto a mis inputs . Esto funciona bien, pero ahora quiero verificar primero si mi número todavía está en mis inputs .
PROBLEMA: después de intentar agregar algo a mis inputs , siempre recibo el siguiente error: [Vue warn]: Error on v-on handler: "TypeError: this.inputs[i] is undefined"
He declarado todo correcto en mis datos y sin el for-loop funciona bien. ¿Cuál es el error aquí? no pude descifrarlo..
también cuando trato de hacer esto: this.inputs[0].number obtengo los datos correctos..
¡Gracias por intentar ayudarme!
Código en mi plantilla:
<b-form-input v-model="number"></b-form-input> <b-button @click="addSomething(number)"></b-button>Código en mi script:
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, }) } } } },Con la condición i <= this.inputs.length , está superando los límites de su matriz. En la sobreindexación de JavaScript, una matriz devuelve undefined .
El controlador fijo debe ser:
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, }) } } } },