vue项目点击浏览器返回至前几个页面

需求场景1:用户注册三步需求:

在快付小店项目开发中,有这样一个需求:用户进入A页面(招商首页),点击注册按钮,进入B页面(注册第一步),第一步注册完后,点击下一步,把第一步注册信息上报给服务端保存,跳转到C页面(注册第二步),第二步注册完后,点击下一步,把第二步注册信息上报给服务端保存,跳转到D页面(注册第三步),这时候,用户发现忘记了第三步注册中的某一个信息,需要确定后才能注册,所以这时候需要放弃注册;此时产品需求是:点击浏览器返回,返回到用户一开始进入的A页面,而不是默认返回上一页(C页面)

需求场景2:tab切换:

两个tab页面进行切换,但是点击返回的时候,还是返回到初始进来的页面;

解决方案:

  • 思路 因为第一步、第二步的信息实则已经存储在了服务器,所以第三步返回的时候不需要再回到之前的页面;这个时候可以使用vue-router中另一种跳转路由的方法:router.replace(location, onComplete?, onAbort?) (跟 router.push 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录)

  • 代码:

/**
     * A页面跳转到B页面
     * */
goFirstRegisterPage(){
     this.$router.replace({name:"B"});
},
/**
     * B页面跳转到C页面
     * */
goSecondRegisterPage(){
     this.$router.replace({name:"C"});
},
/**
     * C页面跳转到D页面
     * */
goThridRegisterPage(){
     this.$router.replace({name:"D"});
},

当希望通过点击浏览器返回按钮,返回到自己随意的页面,这个时候需要使用beforeRouteLeave 这个路由生命周期函数中进行了;判断返回的页面如果是上一个页面,然后通过next() 做重定向

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,856评论 25 709
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,050评论 3 119
  • 当黑夜涂抹大地的朦胧 月亮多了一分冷清 当月光洒在我的身上 略微显得凄冷 抬头望一眼 思念的月光 回应的只是惆怅的...
    漫歩书生阅读 1,891评论 0 1
  • 今天晚上的所有小组的大组聚会,非常有神的同在!从游戏,敬拜,权能,先知,见证呼召都有神的同在,神也非常的做工,整场...
    宝贵的爱阅读 3,093评论 0 0
  • 今天读《人间词话》,第45章至第47章。 《古诗十九首》之十五中有这样一句话“生年不满百,常怀千岁忧。昼短苦夜长,...
    Fantali阅读 838评论 0 0