问题:tagsView中 tab切换刷新不刷新问题,针对那种有url地址传参的详情页,因为入参不一样,需要重新加载页面(要刷新),但是对于用户只是点击切换tab,这种情况url地址不变入参不变的,是不需要刷新页面的
请问有什么好的实现方案!
t2a7ltrp1#
监听路由变化
cnh2zyt32#
监听路由变化,好像只是监听从哪个页面跳转过来(to, from),同一个页面的话是不是得每次都缓存前一次的路由参数,然后对比当前的路由看参数有没有变化?还是有更优雅的实现方案吗?
uqzxnwby3#
watch: {$route: {handler(newRoute, oldRoute) {console.log(newRoute, oldRoute)},deep: true,immediate: true,},}参数变化也能监听到吧,打印一下不就知道了
mcdcgff04#
我是把id当key
nfeuvbwi5#
您好,请问您解决了吗?
7kqas0il6#
watch: {$route: {handler(newRoute, oldRoute) {console.log(newRoute, oldRoute)if (newRoute.query.id && newRoute.query.id !== this.form.id) {this.$refreshPage(this.$route)}},deep: true,},}
6条答案
按热度按时间t2a7ltrp1#
监听路由变化
cnh2zyt32#
监听路由变化
监听路由变化,好像只是监听从哪个页面跳转过来(to, from),同一个页面的话是不是得每次都缓存前一次的路由参数,然后对比当前的路由看参数有没有变化?还是有更优雅的实现方案吗?
uqzxnwby3#
监听路由变化
监听路由变化,好像只是监听从哪个页面跳转过来(to, from),同一个页面的话是不是得每次都缓存前一次的路由参数,然后对比当前的路由看参数有没有变化?还是有更优雅的实现方案吗?
watch: {
$route: {
handler(newRoute, oldRoute) {
console.log(newRoute, oldRoute)
},
deep: true,
immediate: true,
},
}
参数变化也能监听到吧,打印一下不就知道了
mcdcgff04#
我是把id当key
nfeuvbwi5#
您好,请问您解决了吗?
7kqas0il6#
您好,请问您解决了吗?
watch: {
$route: {
handler(newRoute, oldRoute) {
console.log(newRoute, oldRoute)
if (newRoute.query.id && newRoute.query.id !== this.form.id) {
this.$refreshPage(this.$route)
}
},
deep: true,
},
}