Vue: problema de transición de entrada con componentes asíncronos

Creado en 26 may. 2017  ·  17Comentarios  ·  Fuente: vuejs/vue

Versión

2.3.0

Enlace de reproducción

https://jsfiddle.net/z11fe07p/1959/

pasos para reproducir

¿Lo que es esperado?

El componente anterior (A) debería desaparecer antes de que aparezca el componente B

¿Qué está pasando realmente?

Los componentes A y B son visibles simultáneamente


Este comportamiento ocurre solo cuando el componente B aún no está cargado. La próxima vez que cambie de A a B, todo estará bien.

bug

Comentario más útil

Lo he resuelto, espera un minuto ...

Al renderizar async components , necesitamos usar un marcador de posición de elemento oculto

Todos 17 comentarios

Gracias, parece un error. Gracias por la reproducción concisa y clara 🙂

Parece que el componente asincrónico se procesa demasiado pronto

Lo he resuelto, espera un minuto ...

Al renderizar async components , necesitamos usar un marcador de posición de elemento oculto

¿Estás seguro de que esto resuelve las transiciones de los componentes asíncronos? Soy nuevo en Vue, por lo que es probable que se trate de un error en mi código, pero mi siguiente repositorio aún muestra el error de transición de salida en el que el componente entrante no espera a que se complete el desvanecimiento de salida. Tenga en cuenta que estoy usando el http-vue-loader nombrado anteriormente.

Demostración de errores de transición de componentes asíncronos

De hecho, esto sigue fallando con la misma reproducción. La transición comienza de inmediato como dijo @clingor

@posva

https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.js

Parece que esta versión no contiene el código de corrección

La solución aún no se ha publicado. Cerramos los problemas cuando el parche aterriza en la rama dev , pero es posible que aún no esté en una versión pública.

2.3.4 solo contiene una única solución para una pérdida de memoria (que tiene mayor prioridad)

Mi mal, acabo de ver que el compromiso fue antes del lanzamiento y pensé que era extraño. De todos modos habría estado en las notas de la versión.

Perdón por el malentendido y gracias por confirmar el problema.

Esto no parece haberse solucionado todavía en 2.4.2. ¿Está todavía pendiente de publicación?

Demostración de errores de transición de componentes asíncronos

@clingor ¿Estás seguro? El jsfiddle funciona muy bien

El violín funciona correctamente, pero el código en mi repositorio de GitHub de ejemplo todavía muestra el mismo comportamiento. Podría ser la biblioteca auxiliar http-vue-loader , o tal vez algo en mi código. Este ejemplo es simple y se creó para demostrar el problema .

@FranckFreiburger ¿ http-vue-loader ?

si pones el problema en un jsfiddle sin el cargador, puedo echar un vistazo

Soy 21.07.2017 21:16 schrieb "Chris Lingor" [email protected] :

Esto no parece haberse solucionado todavía en 2.4.2. ¿Esto todavía está pendiente?
¿lanzamiento?

Demostración de errores de transición de componentes asíncronos
https://github.com/clingor/githubIssuesFileShare/tree/master/vue-async-component-bug

-
Recibes esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/vuejs/vue/issues/5760#issuecomment-317088909 , o silenciar
la amenaza
https://github.com/notifications/unsubscribe-auth/Aclno69wDoTlZziST6eSocqxEnn8mFx-ks5sQPkKgaJpZM4Nng7j
.

¡El culpable es <keep-alive> !

pasos para reproducir

  1. ver https://jsfiddle.net/z11fe07p/2382/
  2. haga clic en el botón "B"

@posva , ¿eres capaz de reproducir?

@FranckFreiburger Deberías abrir una nueva edición para eso. Gracias por cierto 😉

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

aviggngyv picture aviggngyv  ·  3Comentarios

Jokcy picture Jokcy  ·  3Comentarios

hiendv picture hiendv  ·  3Comentarios

julianxhokaxhiu picture julianxhokaxhiu  ·  3Comentarios

robertleeplummerjr picture robertleeplummerjr  ·  3Comentarios