A menudo nos encontramos con cambios en los datos en Vue, pero la vista no puede actualizarse, así que he resumido algunas de estas situaciones:
1. Para el array recorrido por v-for, cuando el contenido del array usa arr[0].xx =xx para cambiar los datos, vue no puede detectarloCambios en los datos de los arrays: Usamos algunos métodos para manipular arrays, y al cambiar datos, algunos métodos no pueden ser monitorizados por Vue, mientras que otros sí
Vue envuelve varias funciones de operación de arrays, y los arrays que se manipulan usando estos métodos serán monitorizados por Vue cuando sus datos cambien:
push() pop() shift() unshift() splice() sort() reverse() vue2.0 también añade un método para observar Vue.set (items, indexOfItem, newValue) filter(), concat(), slice() 。 Estos no cambian el array original, pero siempre devuelven un nuevo array. Cuando se utiliza un método que no es mutación, puedes reemplazar el array antiguo por uno nuevo
Vue no puede detectar matrices que cambien lo siguiente:
(1) Cuando se establece un elemento directamente con un índice, vm.items[indexOfItem] = newValue (2) Cuando modificas la longitud del array, por ejemplo: vm.items.length = newLength Sin más preámbulos, sube el código y adjunta las representaciones:
Las anteriores son dos soluciones para arrays que Vue no puede detectar cambios de datos Cambia el método add() en tu código por
Notas de actualización de la lista:El inicio de sesión del hipervínculo es visible.Detección de actualizaciones de la matriz Profundiza en los principios de respuesta:El inicio de sesión del hipervínculo es visible.
|