vue强制刷新组件
把一个组件重置到初始状态是一个常见的需求,推荐的做法有两种,一种是父组件重置子组件的 prop,另一种是子组件暴露一个重置的方法供父组件调用。但有些时候,子组件既没有提供重置的方法,也没提供 prop 来重置自己的状态。更重要的是,这个子组件我们还动不了。于是我们就需要一种 hack 的方式来强制子组件重置到初始状态。方法如下:
1
|
<component v-if="hackReset"></component>
|
1
2
3
4
|
this.hackReset = false
this.$nextTick(() => {
this.hackReset = true
})
|
v-if 在切换时,元素及它的绑定数据和组件都会被销毁并重建