Vue: 组件在第一次重新渲染时消失

创建于 2017-08-15  ·  5评论  ·  资料来源: vuejs/vue

2.4.2

复制链接

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

重现步骤

在JSFiddle上,等待L15上的setTimeout两秒钟后完成。

期望什么?

为了使CustomElA仍位于DOM中。

实际发生了什么?

重新渲染时,CustomElA从DOM中删除。 但是,它在第​​三次重新渲染时返回(在L16的JSFiddle上使用setInterval而不是setTimeout进行了测试)。


JSfiddle使用的是Vue v2.4.0,但我已经在本地验证了v2.4.2的错误。

最有用的评论

看起来像个错误,感谢您的举报。 看起来它是在2.1.4中引入的。 看起来问题似乎是在修补vnode期间发生的。

编辑:在vnode修补期间,看起来_isDestroyedinit处为假,从而使其不调用挂载并从节点树中消失

所有5条评论

看起来像个错误,感谢您的举报。 看起来它是在2.1.4中引入的。 看起来问题似乎是在修补vnode期间发生的。

编辑:在vnode修补期间,看起来_isDestroyedinit处为假,从而使其不调用挂载并从节点树中消失

这是固定的,但请注意,由于您正在更改包装插槽的元素,因此该元素被视为“已替换”,因此所有插槽内容(包括其中的组件)都将被破坏,然后重新创建。 不幸的是,这是vdom修补工作的方式,并且不太可能更改。

@ yyx990803
听起来不错,谢谢。 您是否有下一个发布日期的时间表?

还想知道何时发布下一个版本,或者与此同时,是否有办法安装该版本? 谢谢。

@ Tolmark12克隆存储库,构建文件并运行npm link以使用vue local的本地版本(这些是非常粗糙的说明)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

aviggngyv picture aviggngyv  ·  3评论

6pm picture 6pm  ·  3评论

wufeng87 picture wufeng87  ·  3评论

bdedardel picture bdedardel  ·  3评论

loki0609 picture loki0609  ·  3评论