Vue: Vue no llama al observador cuando cambia de accesorio antes de Destruir

Creado en 23 may. 2018  ·  3Comentarios  ·  Fuente: vuejs/vue

Versión

2.5.16

Enlace de reproducción

https://jsfiddle.net/86s8qufj/

pasos para reproducir

  1. Enlace de reproducción abierto
  2. Consola abierta
  3. Haga clic en el botón "Alternar componente de prueba".
    Esto crea TestComponent para usted.
  4. Intente cambiar algo en la entrada. Puede ver 'In testInfo watcher' en la consola, lo que significa que testInfo watcher ha llamado.
  5. Haga clic en el botón "Alternar componente de prueba" nuevamente.
    Esto destruye TestComponent.
    En el gancho beforeDestroy cambio la propiedad 'testInfo'.
    Pero solo puede ver 'In beforeDestroy' en la consola en lugar de 'In beforeDestroy' y 'In testInfo watcher'.

¿Lo que es esperado?

Espero que se llame al observador de la propiedad 'testInfo' cuando lo cambie en el gancho beforeDestory.

¿Qué está pasando realmente?

Cambio la propiedad 'testInfo' en el gancho beforeDestroy, pero el observador no llama.

Comentario más útil

Yo diría que sería bueno mencionarlo en la documentación, porque ahora hay "Llamado justo antes de que se destruya una instancia de Vue. En esta etapa, la instancia aún es completamente funcional".

Todos 3 comentarios

Además, si intenta registrar testInfo en un gancho destruido, verá un nuevo valor. Pero el Objeto debería ser destruido ...

beforeDestroy ocurre justo antes de derribar la instancia de Vue, por lo que es normal que los observadores no se activen, ya que lo harían una vez que se destruya la instancia (lo que invalida la mayoría de las funciones de observador).
Debe llamar al observador usted mismo en el gancho beforeDestroy lugar de cambiar los datos

Yo diría que sería bueno mencionarlo en la documentación, porque ahora hay "Llamado justo antes de que se destruya una instancia de Vue. En esta etapa, la instancia aún es completamente funcional".

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

Temas relacionados

lmnsg picture lmnsg  ·  3Comentarios

bfis picture bfis  ·  3Comentarios

loki0609 picture loki0609  ·  3Comentarios

bdedardel picture bdedardel  ·  3Comentarios

paceband picture paceband  ·  3Comentarios