路由缓存问题即:当再vue3中使用带参数的路由时,随着路由跳转,组件被重新复用,不能正常执行生命周期
尤其我们通常在onMounted中使用的请求的发送,那么如何解决呢
1.粗暴的方法:强制替换销毁
vue官方曾说,key可以强制替换一个元素或者组件,而不是复用它
那么我们可以在组件中使用key来正式重新定义一下跳转路径
这里的$route.fullPath即当前网页的url
2.灵巧的方法:通过监听路径来触发一个周期函数
我们可以在这个周期函数中调用部分请求函数,使得它在路径变换时会强制发送请求
这里我们以带参请求为例
import { onBeforeRouteUpdate } from "vue-router";onBeforeRouteUpdate((to)=>{categoryApi(to.params.id)
})
这里的to代表了当前页面的一些信息,路由变换时提供路由信息供这些函数调用使用