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

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

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


一、业务场景

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

在这里插入图片描述

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

<button @click='goback'>返回</button>
 //返回前一页
  goback(){
             this.$router.go(-1)
            }

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

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

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

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

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

二、拓展提升

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

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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

模拟代码

      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'
                });
            }
        }

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


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

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐