Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 11430|Respuesta: 0

[Vue] Los datos se modifican en Vue pero la vista no puede actualizarse

[Copiar enlace]
Publicado en 20/8/2018 13:05:58 | | | |
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.





Anterior:Se hace clic en la implementación de vue para comprobarlo, y los demás no se seleccionan
Próximo:Sección de Configuración
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com