vue beforeRouteEnter()和beforeRouteLeave()的解释和根据跳转来的页面决定顶部的返回按钮去哪里

本文介绍了Vue中beforeRouteEnter和beforeRouteLeave导航守卫的用法,特别是如何处理苹果手机返回按钮兼容性问题。在beforeRouteEnter中保存上一页面路径,以确保返回按钮能正确导航。当点击返回按钮无效时,通过在beforeRouteEnter中使用next(vm)来传递当前组件实例,并设置返回路径。
摘要由CSDN通过智能技术生成

beforeRouteEnter    进入路由之前执行的函数。next();  代表跳转

beforeRouteEnter(to, from, next){

要执行的代码操作

next();

}

 

beforeRouteLeave    离开路由之前执行的函数

beforeRouteLeave(to, from, next) {
               if(to.query.mark==undefined){localStorage.setItem('flag',"")}
               next();
           },

 

 

根据跳转来的页面决定顶部的返回按钮去哪里

一般情况下写router.back(-1)就可以返回的之前来的页面这样:

<button icon="back" @click="$router.back(-1)"></button>

 

但是发现有的苹果手机并不能兼容啊。返回点击无效。所以我们通过beforeRouteEnter来记住来的页面。然后写死返回的页面

 beforeRouteEnter(to,from,next){
       let  type=from.path;//上个页面的路径保存起来

//    this.type=type;  //但是这里是获取不到data里面定义的数据type的赋值也没有用。

//console.log(this) // 结果为undefined,因为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值