• 八、【Vue-Router】编程式路由导航


    八、编程式路由导航

    1、什么是编程式路由导航

    就是不借助 实现路由跳转,让路由跳转更加灵活!


    2、需求

    在这里插入图片描述


    3、CODE简单改造(源码请回翻上一节)

    1、CommonTitle.vue

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

    2、Message.vue

    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    3、通过Message的pushClick看一下$router

    在这里插入图片描述


    4、CODE(push和replace改造)

    1、Message.vue

    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    2、Result

    pushClick 和 replaceClick 运行结果正常


    5、CODE(back和forward改造)

    1、CommonTitle.vue

    back(){
        this.$router.back()
    },
    forward(){
        this.$router.forward()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、Result

    back 和 forward 运行结果正常

    3、this.$router.go()

    go方法接收一个数字参数,+n就是 forward n步,-n 就是 back n步,n 为 0 时刷新当前页面


    6、总结

    1. 作用:不借助 实现路由跳转,让路由跳转更加灵活

    2. 具体编码:

      //$router的两个API  [push/replace]
      this.$router.push({
         name:'xiangqing',
            params:{
               id:xxx,
               title:xxx
            }
      })
      
      this.$router.replace({
         name:'xiangqing',
            params:{
               id:xxx,
               title:xxx
            }
      })
      
      openNewWindow(id){
          let route2 = this.$router.resolve({
              name:'ourserve',    //这里是跳转页面的name
              query:{
                  id:id   //要传的参数
              }
          })
          window.open(route2.href,'_blank') //打开新的页面
      },
      
      this.$router.forward() //前进
      this.$router.back() //后退
      this.$router.go(num) //可前进也可后退,传数字以达到前进后退的目的
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
  • 相关阅读:
    【DL】Windiws10系统下安装CUDA和CUDNN实践教程
    HTML5+CSS3+JavaScript 实现按键令小女孩移动,改变动画效果
    【夜读】一个人越活越好的5个习惯
    芯片制造的成本与定价
    jQuery+AJXA+PHP动态获取数据实现新闻网页下拉加载功能(1+X Web前端开发中级 例题)
    【Pytorch】(十四)C++ 加载TorchScript 模型
    Java Doc--{@link} 和 @see 使用
    讲清楚两个简单的概念之进程、线程
    Gradio的web界面演示与交互机器学习模型,高级接口特征《6》
    网络触手获取天气数据存入mysql 项目
  • 原文地址:https://blog.csdn.net/qq_30769437/article/details/126215384