vue中 $destroy 并且 removeChild 组件数据响失效

this.$destroy() 作用:

完全销毁一个实例。清理它与其它实例的连接,解绑它的全部指令及事件监听器。触发 beforeDestroydestroyed 的钩子。

当销毁一个组件时我们有可能会用这种方法:

this.$destroy()
this.$el.parentNode.removeChild(this.$el) //通过父级元素销毁当前组件

查看页面html该组件确实被销毁, 但是removeChild销毁组件只是表面上的销毁了该组件, 实际上该组件函数任然缓存在vue中,下次组件显示时,组件还是会处于被销毁(destroy)状态,所以数据响应式,生命周期等都会不起作用!

需要真正销毁一个组件可以使用 v-if


版权声明:本文为qq_41614928原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。