Vue: O componente desaparece na primeira renderização

Criado em 15 ago. 2017  ·  5Comentários  ·  Fonte: vuejs/vue

Versão

2.4.2

Link de reprodução

http://jsfiddle.net/yMv7y/3265/

Passos para reproduzir

No JSFiddle, espere até que setTimeout em L15 seja concluído após dois segundos.

O que é esperado?

Para CustomElA ainda estar no DOM.

O que realmente está acontecendo?

CustomElA é removido do DOM na re-renderização. No entanto, ele volta na terceira re-renderização (testado usando setInterval vez de setTimeout no JSFiddle em L16).


O JSfiddle está usando o Vue v2.4.0, mas verifiquei o bug na v2.4.2 localmente.

bug

Comentários muito úteis

Parece um bug, obrigado por relatá-lo. Parece que foi introduzido no 2.1.4. Parece que o problema acontece durante o patch de vnodes.

editar: parece que _isDestroyed é falso em init durante o patch do vnode, fazendo com que ele não chame o mount e desaparece da árvore do nó

Todos 5 comentários

Parece um bug, obrigado por relatá-lo. Parece que foi introduzido no 2.1.4. Parece que o problema acontece durante o patch de vnodes.

editar: parece que _isDestroyed é falso em init durante o patch do vnode, fazendo com que ele não chame o mount e desaparece da árvore do nó

Isso foi corrigido, mas observe que, como você está alterando o elemento que envolve os slots, o elemento é considerado "substituído" e, portanto, todo o conteúdo do slot, incluindo os componentes nele, será destruído e recriado. Infelizmente, é assim que o patch do vdom funciona e é improvável que mude.

@ yyx990803
Parece bom, obrigado. Você tem uma data aproximada para o próximo lançamento?

Também está se perguntando quando o próximo lançamento ocorrerá ou, enquanto isso, há uma maneira de instalar essa versão? Obrigado.

@ Tolmark12 clone o repo, construa os arquivos e execute npm link para usar a versão local do vue 😉 (essas são instruções muito aproximadas)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

julianxhokaxhiu picture julianxhokaxhiu  ·  3Comentários

robertleeplummerjr picture robertleeplummerjr  ·  3Comentários

aviggngyv picture aviggngyv  ·  3Comentários

hiendv picture hiendv  ·  3Comentários

bdedardel picture bdedardel  ·  3Comentários