Colección de citas famosas - Diccionario de frases chinas - Los temporizadores en la lista v-for no actualizarán los datos.

Los temporizadores en la lista v-for no actualizarán los datos.

En el proceso de trabajar en proyectos, Vue a menudo usa v-for para representar múltiples componentes repetidos o elementos dom, como pasar json/diccionario, usar v-for para atravesar las claves y valores en json y renderizar a la página para cambiar los elementos El orden es el siguiente:

<El-card class="content-card"v-for="(datos de preguntas, I) en formulario. datos de preguntas">

//Negocio específico

......

& lt/el-card>.

Copiar

Sin embargo, en el proceso de diseño de v-for, los datos no se pueden vincular en ambas direcciones, es decir, cuando la clave o el valor en json_data cambia, el valor predeterminado. data El valor del atributo json_data se puede cambiar, pero el contenido de la página sigue siendo el resultado de la primera representación del componente anterior, por lo que no se puede actualizar en tiempo real.

Solución

En Vue, v-if es una representación condicional que elimina o recrea elementos cada vez que se actualiza el estado. Por lo tanto, v-if se puede usar para actualizar parcialmente el código en la plantilla (primero eliminar, luego crear), pero v-if tiene un alto consumo de rendimiento de conmutación.

Vue oficialmente no recomienda usar v-for y v-if al mismo tiempo en la misma etiqueta. Entonces, en el código de ejemplo anterior, agregue una capa div que se crea cuando file_is_show es verdadero y se destruye cuando es falso. Como se muestra a continuación:

<template v-if="file_is_show">

<El-card class="content-card" v-for= "(datos de preguntas, I) en formulario preguntas datos"& gt;

//Negocio específico

......

& lt/ el-card>.

& lt/template & gt;

Copiar

Escuche los cambios en los datos json_data. Si json_data cambia, el elemento se destruirá primero y luego se creará, logrando así una actualización local de la página.

Método 1

Observación:{

//Monitorear los cambios de datos json y volver a representar el contenido de la carpeta.

JSON_data(nuevo valor) {

this.file_is_show = false

if (verdadero) {

this. $nexttick(() = >{// $nextTick es una función de devolución de llamada retrasada que se ejecuta después del ciclo de actualización del DOM.

this.file_is_show = true

})

}

}

}

Copiar

Método 2

// Desplazar hacia abajo intercambia el índice de la matriz actual con el siguiente elemento y se mueve una posición hacia la parte posterior de la matriz.

zIndexDown(arr, fila) {

let index = arr índice de (fila);

this . swap array(arr, index, index+1);

} else {

this. $modal.msgWarning ("Es el último y no se puede mover hacia abajo");

}

},

//Subir el índice de Intercambie la matriz actual con el elemento anterior y muévala una posición por delante de la matriz.

zIndexUp(arr, fila) {

let index = arr índice de (fila)

if (índice! = 0) {

este .swap array(arr,index,index-1);

}else{

esto. $modal.msgWarning("Este es el primero y no se puede subir");

}

},

/**

*Los elementos de la matriz intercambian posiciones

* @param {array}array

* @param {number} index1 La posición donde se agrega el elemento.

* @param {number} index2 La ubicación de los elementos eliminados.

* índice1 e índice2 son los valores de índice de las dos matrices, es decir, los valores de índice de los dos elementos a intercambiar. Por ejemplo, 1,5 es la posición de intercambio de los dos elementos con subíndices 1 y 5 en la matriz.

*/

swapArray(arr, index1, index 2) {

arr[index 1] = arr splice(index 2, 1, arr[ índice 1】)【0】;

this.file_is_show = false

if (true) {

Esto. $nexttick(() = >{// $nextTick es una función de devolución de llamada retrasada que se ejecuta después del ciclo de actualización del DOM.

this.file_is_show = true

})

}

}

Copia

Nota

esto. No se llamará a $nextTick hasta que se actualice el DOM.

Si no agrega esta oración, json_data cambiará, file_is_show será falso primero y luego se actualizará inmediatamente a verdadero. El file_is_show original es verdadero, por lo que el DOM no se actualiza.

Con nextTick, puede ejecutar la función de devolución de llamada (crear función) después de que se destruye el dom, destruyendo así -> creando e implementando la función de actualización local.

html5

vue . j

Ahora la gente está utilizando este tipo de teléfono móvil plegable. ¿Qué estás esperando?

Recomendaciones destacadas

Publicidad

v-in vue se utiliza para vincular la matriz Cuando la matriz cambia, los datos de la página no se actualizarán (análisis). .

1.5W lee 1 comentario 15 me gusta.

65438+24 de octubre de 2020

Cuando algunos datos cambian, la lista presentada por v-for en vue no se actualizará. Problema resuelto.

1638 Leer 2 Comentarios 1 Me gusta.

9 de febrero de 2021

Vue modifica la vista de datos del proyecto en el bucle v-for sin actualizar.

434 lecturas 0 comentarios 0 me gusta

165438+octubre 2022 65438+mayo

Solución al comando v-for no válido en el entorno virtual

p>

0 descargas 0 comentarios

65438+29 de febrero de 2020

Después de modificar los atributos de v-for en Vue, los datos no se pueden presentar en tiempo.

833 visitas 0 comentarios 1 me gusta.

23 de junio de 2020

v - representa un pozo oculto en Vue - no se puede actualizar en tiempo real.

3798 visitas 0 comentarios 2 me gusta.

26 de agosto de 2065438+09

¡La súper popular versión descomprimida de "Boom Island"!

Recomendaciones destacadas

Anuncios

v: se utilizan para cargar las tarjetas en un bucle y controlar la expansión y el plegado automáticos.

1.3W lee 0 comentarios 1 me gusta.

21 de junio de 2017

jsv - para cambios de datos sin necesidad de actualizar la lista en tiempo real.

359 lecturas 0 comentarios 0 me gusta

12 de julio de 2022

Actualización de datos en vue3, la vista no tiene solución de actualización.

463 lecturas 0 comentarios 0 me gusta

26 de octubre de 2022

Vue list renderizando bucle v-for

811 lecturas 0 comentario 1 Como.

2065438+27 de mayo de 2009

Después de modificar los atributos en el bucle vue v-for, la página no se volverá a representar.

1851 visitas 0 comentarios 1 me gusta.

22 de junio de 2020

Resuelva el problema de actualización de la página (actualización del valor del bucle v-for, etc.) manejado por vue this. $forceUpdate().

2639 lee 1 comentario 1 me gusta.

22 de agosto de 2020

Vue2.0 vue v-for loop, cambiando la vista de datos del loop sin actualizar.

1131 visitas 0 comentarios 0 me gusta.

2019 10 de junio 17

En VUE, v-for vincula una matriz y los datos de la página no se actualizarán cuando la matriz cambie.

6790 visitas 0 comentarios 4 me gusta.

8 de septiembre de 2020

Resuelva el problema de que la representación de la matriz de vue no se actualiza.

1330 visitas 0 comentarios 0 me gusta.

5 de abril de 2021

La vista de datos de vue v-loop para cambios de bucle no está actualizada.

1.0W Leer 2 comentarios 6 Me gusta

2065438+9 de julio 11

Al usar vue, vue puede usar esto. $forceUpdate() fuerza una actualización de los datos de la página (utilizada para la actualización del valor del bucle v-for).

1287 visitas 0 comentarios 0 me gusta.

14 de junio de 2022

V-for resuelve el problema de representación y actualización de datos

1078 lecturas, 0 comentarios, 0 me gusta.

31 de mayo de 2021

Ir a la página de inicio

Ver contenido más popular

Comentario 2

mR1300

Adoración

El reloj local v-if plus es muy útil, gracias.

2022.06.21

weixin_44474752

Adoración

Gracias por ayudarme a resolver un problema que me ha estado molestando durante varias horas.