javascript - Vue.js组件如何销毁重新创建

 裴潇艳 发布于 2022-11-20 14:53

我有一个页面,上边是一些tab,下边是一个form页面。点击不同的tab,form页面的结构都相同,只是加载不同的数据在里面。

现在遇到的问题是,例如:

  1. form中有个checkbox,应该在每个tab被点中时都为unchecked,所以应状态不依赖其他数据

  2. 但是由于每个tab点中时显示的是同一个form的vue component,checkbox的值会保留上一个tab中被checked的状态

    我想做的是:

  3. 每个tab还是重用同样的component

  4. 但是希望在点中tab时,先销毁当前的,然后再“new”一个

    所以,Vue.js中怎么销毁再new一个呢?或者说我的case中有其他更合适的解决方案么?

2015/11/19更新:
在官网上找到了答案,用v-if就能销毁重建组件,因此内部的created ready生命周期函数会被反复调用。

v-if
用法:
根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。如果元素是