【vue项目】this.$router.go(-1)返回跳转到系统首页(问题解决)

举报
辰兮 发表于 2022/03/22 22:36:49 2022/03/22
【摘要】 【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、...

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿大家奔赴在各自的热爱里…


一、业务场景

hello本期简单总结一下vue项目中遇到的点击返回按钮跳首页问题

在这里插入图片描述

业务场景:如上按钮附上 this.$router.go(-1)方法,本地运行点击返回正常返回前一页,页面到具体的系统后,点击返回直接跳转到首页

<button @click='goback'>返回</button>

  
 
  • 1
 //返回前一页
  goback(){
             this.$router.go(-1)
            }

  
 
  • 1
  • 2
  • 3
  • 4

问题产生的原因:当前系统或者平台前端禁用了返回按钮

在这里插入图片描述
解决办法:使用路由跳转,返回到什么页面就写指定的路由
请添加图片描述

1.先去定义路由的页面配置好当前页面的路由
2.如上this.$router.go(-1)切换成this.$router.push('/跳转页面')

  
 
  • 1
  • 2

模拟案例如下
在这里插入图片描述

  //跳到指定页面 这里是根据路由跳转
this.$router.push('/home')

  
 
  • 1
  • 2

二、拓展提升

我之前遇到过一个业务场景

如有三个页面共用一个页面,公共页面上点击返回按钮的时候如何跳转到指定页面,即跳转到前一个进入的页面

在这里插入图片描述

显然这里不能直接把返回的页面路由写死

//跳到指定页面 这里是根据路由跳转
this.$router.push('/home')

  
 
  • 1
  • 2

解决办法:每一个页面进来的时候我们额外的带一个参数或者属性,如1/2/3

我们将对应的参数存储在公共的页面

当我们返回的时候根据指定的参数 即可以判断返回到不同页面

在这里插入图片描述
伪代码

       // 跳转到下一个页面 同时传入对应的参数
        goFilepage(row) {
            //路由跳转
            this.$router.push({
                name: 'home',
                params: {
                    sId: row.sId,
                    backPage: 1 (或者/2/3 此处灵活变通)
                }
            });
        }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

前一个页面传入的参数存储在当前页面,供返回时候使用

  //传入前一个页面的标识符,存在当前的页面
  this.backPage = this.$route.params.backPage;

  
 
  • 1
  • 2

模拟代码

      goBack() {  
            //路由跳转
            if (this.backPage === 1) {
                this.$router.push({
                    name: 'a'
                });
            } else if (this.backPage === 2) {
                this.$router.push({
                    name: 'b'
                });
            } else if (this.backPage === 3) {
                this.$router.push({
                    name: 'c'
                });
            } else {
                this.$message({
                    showClose: true,
                    message: '错误',
                    type: 'error'
                });
            }
        }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

好了本期就总结到这里了,vue基础分享,后续继续带来更多项目总结


非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

2021年10月23日19:55:29 愿你们奔赴在自己的热爱里!

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/120925344

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。