Resuelve el problema de que vue modifica los elementos de la matriz a través del valor del índice y la página no cambia

Causa principal: ¡No se puede pasar el valor del índice!

Para mayor concisión, vue no monitorea internamente para cambiar la matriz a través del valor del índice. Aunque se cambian los datos, la capa Ver no cambiará. Es decir, cuando los datos de los datos son una matriz o un objeto, se agrega o elimina dinámicamente, y la vista no se actualizará.

Solución 1:

Si se trata de inserción o eliminación, puede utilizar el método de empalme de la matriz

this.letters[0]='b'
//替换成
this.letters.splice(0,1,'b')

Solución 2:

Insertar o eliminar también puede usar el método set de Vue

Esencialmente: después de usar el método set, el empalme en la matriz Vue se llama realmente, por lo que se activa la representación. (Para esto, puede ver el código fuente de vue)

this.letters[0]='b'
//替换成

import Vue from 'vue'
Vue.set(this.letters,0,'b')

Vue.set (要修改的数组/对象,索引值/属性,修改后的值)


//如果不想引入import Vue,也可以用this.$set
this.$set(this.letters,0,'b')

 Los dos métodos vue.set y this. $ Set () son en realidad iguales. Se puede decir que son casi iguales, excepto que set está vinculado al constructor de Vue y debe introducirse. $ Set () está vinculado to Vue No es necesario presentar el prototipo.

 

Supongo que te gusta

Origin blog.csdn.net/a1059526327/article/details/108974021
Recomendado
Clasificación