遇到的问题:在组件中使用watch监听路由中的值,会执行多次;
出现的原因:因为使用了keep-alive;
解决的办法:方法一:去掉keep-alive;方法二:在onDeactivated中销毁watch;
const destroyWatch = watch(
() => route.query.id,
val => {
console.log(val)
},
{
immediate: true
}
)
onDeactivated(() => {
destroyWatch()
})