Vue中如何实现beforeRouteLeave页面回退不刷新,避免重复加载?

2026-04-05 19:571阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计484个文字,预计阅读时间需要2分钟。

Vue中如何实现beforeRouteLeave页面回退不刷新,避免重复加载?

在Vue路由中,若要实现路由切换回前一页面而不刷新功能,首选是使用keep-alive,但若页面不属于父子级关系,则需使用beforeRouteLeave钩子。示例代码如下:

javascriptbeforeRouteLeave(to, from, next) { if (to.name !=='page') { next(); }}

路由切换返回前一个路由时实现页面不刷新功能,首先想到的是keep-alive,但是页面不属于父子级关系,所以决定用beforeRouteLeave,下面贴代码

beforeRouteLeave(to, from, next){ if(to.name !== 'page2'){ //判断是从哪个路由过来的,如果不是page2过来的需要做什么操作在这里实现 //如果是page2过来的,表明当前页面不需要刷新获取新数据,直接用之前缓存的数据即可 } next(); }

beforeRouteLeave后面的参数to是关于上个页面的信息,to.name就是上个路由名称。

阅读全文

本文共计484个文字,预计阅读时间需要2分钟。

Vue中如何实现beforeRouteLeave页面回退不刷新,避免重复加载?

在Vue路由中,若要实现路由切换回前一页面而不刷新功能,首选是使用keep-alive,但若页面不属于父子级关系,则需使用beforeRouteLeave钩子。示例代码如下:

javascriptbeforeRouteLeave(to, from, next) { if (to.name !=='page') { next(); }}

路由切换返回前一个路由时实现页面不刷新功能,首先想到的是keep-alive,但是页面不属于父子级关系,所以决定用beforeRouteLeave,下面贴代码

beforeRouteLeave(to, from, next){ if(to.name !== 'page2'){ //判断是从哪个路由过来的,如果不是page2过来的需要做什么操作在这里实现 //如果是page2过来的,表明当前页面不需要刷新获取新数据,直接用之前缓存的数据即可 } next(); }

beforeRouteLeave后面的参数to是关于上个页面的信息,to.name就是上个路由名称。

阅读全文