美文网首页
vue-router页面重复跳转优化

vue-router页面重复跳转优化

作者: susu一口酥 | 来源:发表于2020-05-07 19:12 被阅读0次
首先引出问题:有个A页面跳转B页面,B页面跳转C页面,C也可以跳转B页面;用户有可能反复的在B和C页面间跳转,然后通过当前页面的返回按钮返回上一页。如果循环了n次到达C页面,那么要回到A页面就需要按n次返回按钮;

(跳转用的是this.router.push方法;返回用的是this.router.back方法)

//main.js
import router from './router.js'

//把当前导航正要离开的路由名称和判断是否为返回跳转的布尔值,赋值给需要跳转的路由meta对象
router.beforeEach((to, from, next) => {
  to.meta.fromName = from.name || '';
  to.meta.isBack = from.meta && from.meta.isBack;
  next();
})
 //导航组件
//定义跳转和返回两个方法
methods: {
    link(url) {
        if (!url) {
            return;
        }
        // 如果上一个路由和需要跳转的路由为一个路由,并且当前页面不是通过返回跳转的,调用返回跳转
        if (this.$route.meta.fromName == url.name && !this.$route.meta.isBack) {
            this.linkBack();
        } else {
            this.$route.meta.isBack = false;
            this.$router.push(url);
        }
    },
    //返回上级
    linkBack() {
        this.$route.meta.isBack = true;
        this.$router.back();
    }
}
大功告成,最后达到的效果是不论B和C循环多少次跳转,只要点一次返回按钮,就可以从C->B->A

相关文章

  • vue-router页面重复跳转优化

    首先引出问题:有个A页面跳转B页面,B页面跳转C页面,C也可以跳转B页面;用户有可能反复的在B和C页面间跳转,然后...

  • Vue错误集

    vue-router使用hash模式时,页面点击跳转或者刷新正常.使用history模式时,页面点击跳转正常,刷新...

  • vue路由传参

    vue是一个单页面的开发框架,在开发的过程中,页面需要利用vue-router进行跳转,页面的跳转肯定会牵扯到页面...

  • vue路由入门

    vue-router用于实现页面的跳转,例如点击Home按钮,进入Home页面,点击About按钮,进入About...

  • weex 踩坑

    1. 用weex实现页面跳转? 1.1 使用vue-router position: fixed/sticky 的...

  • vue-router跳转页面

    小结放在前:先祝大家新年快乐!鸡年大吉大利!在新的一年里大家都有跳跃般的成长!作为新年的第一篇文章,就拿他来给大家...

  • vue-router(单页面应用控制中心)常见用法

    前言 vue-router控制页面跳转,重点在于“更新视图但不重新请求页面”,并且拥有懒加载功能。 推荐配置写法(...

  • 关于vue history模式下遇到的坑

    背景: vue-cli4 配置vue-router 为history模式 , 跳转子路由后页面正常,但是刷新页面访...

  • vue-router用法

    vue 路由 路由点击跳转不会页面刷新,可以保留数据 安装vue-router:npm install vue-r...

  • 【vue-router】刷新当前路由

    vue-router 直接push 当前router 会报错,用中间页面来跳转就可以新建 refresh.vue,...

网友评论

      本文标题:vue-router页面重复跳转优化

      本文链接:https://www.haomeiwen.com/subject/zuhzghtx.html