this.$destroy() 作用:

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

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

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

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

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

Logo

前往低代码交流专区

更多推荐