之前用过 location.reload() 刷新(不知道本质和这个方法是不是一样的)
思路:点击按钮的时候,按钮所在的setting组件通过pinia传值给兄弟组件main,该值一开始是false,兄弟组件main监听该值的变化,如果变化了,就销毁main组件,然后马上重新创建。
setting组件
建立pinia小仓库,存储refsh变量,一开始为false,点击按钮更改false的值
main组件
注意:
①用 v-if 控制组件的销毁和创建
②用到了nextTick,希望组件销毁的时候,更新完毕以后再创建
③vue3中如果用到watch,要记得引入(这里没有这一行代码)