• 路由进阶--编程式导航(在Vue路由中实现跳转,跳转传参)


    路由进阶–编程式导航(跳转,跳转传参)

    1、编程式导航

    1.1、基本跳转

    需求:点击按钮跳转如何实现?

    编程式导航:用JS代码来进行跳转

    1. path 路径跳转(简易方便)

      this.$router.push('路由路径')     //方式1
      
      this.$router.push({     //方式2
         path:'路由路径'
      })
      
      • 1
      • 2
      • 3
      • 4
      • 5
    2. 通过命名路由的方式跳转 (需要给路由起名字) 适合path路径长的情况

      const router = new VueRouter({
        routes: [
          { name: 'search', path: '/search/:words?', component: Search },
        ]
      })
      
      • 1
      • 2
      • 3
      • 4
      • 5
      this.$router.push({
         name: '路由名'
      })
      
      • 1
      • 2
      • 3

      示例:

      
      
      
      
      • 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

    1.2、跳转传参

    需求:点击搜索按钮,跳转需要传参如何实现?

    两种传参方式:查询参数,动态路由传参

    1. path 路径跳转传参(query传参,动态路径传参)

      query传参:

          (1)
      	this.$router.push('路由路径') [简写]
          this.$router.push('路由路径?参数名=参数值')
      	//跳转到其他页面接收:$router.query.参数名
      
          (2) 
      	this.$router.push({    // [完整写法] 更适合传参
          path: '路由路径'
          query: {
             参数名: 参数值,
             参数名: 参数值
            }
          })
          //跳转到其他页面接收:$router.query.参数名
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14

      动态路径传参:

        this.$router.push({
            name: '路由名'
            query: { 参数名: 参数值 },
            params: { 参数名: 参数值 }
        })
        //跳转到其他页面接收:$router.params.参数名    (动态传参就需要配置路由,例如下列代码)
      // const router = new VueRouter({
      //   routes: [
      //     { name: 'search', path: '/search/:参数名?', component: Search }
      //   ]
      // })
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    2. name命名路由跳转传参

      query传参:

       this.$router.push({
           name: '路由名'
           query: { 参数名: 参数值 }
       })
          //跳转到其他页面接收:$router.query.参数名
      
      • 1
      • 2
      • 3
      • 4
      • 5

      动态路径传参:

       this.$router.push({
           name: '路由名'
           params: { 参数名: 参数值 }
       })
      //跳转到其他页面接收:$router.params.参数名    (动态传参就需要配置路由,例如下列代码)
      // const router = new VueRouter({
      //   routes: [
      //     { name: 'search', path: '/search/:参数名?', component: Search }
      //   ]
      // })
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
  • 相关阅读:
    服务器往浏览器推消息(SSE)应用
    平面和射线交点
    XctNet:从单个X射线图像重建体积图像的网络
    NMap 使用技巧总结(一)
    【正则表达式】
    Altium Designer如何查看制定了哪些快捷键?
    分类预测 | Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测
    CentOS7二进制方式安装Docker
    xss之DOM破坏
    超全,看完这份微服务架构与实践文档,微服务不再难
  • 原文地址:https://blog.csdn.net/m0_63144319/article/details/133770398