关于vue的路由携带传参

路由传参分为 query传参跟 params 传参

一、query传参分编程式and声明式 ,参数会显示在地址栏:

        1.编程式

        使用this.$router.push()方法,可以配合name或者path实现传参

        例子:

      this.$router.push({

          name: "b",

          query: {

            name:"mingming",

            uuidL:'1',

          },

        });

页面地址显示效果:http://10.170.109.169:8080/b?name=mingming&uuidL=1

或者是:

      this.$router.push({

          path: "/b",

          query: {

            name:"mingming",

            uuidL:'1',

          },

        });

页面地址显示效果:http://10.170.109.169:8080/b?name=mingming&uuidL=1

2.声明式

      声明式就是使用router-link这个标签中的to属性实现路由跳转并带参,router-link

<router-link :to="{name:'a',query:{name:'mingming'}}">跳转</router-link>

页面地址显示效果:http://10.170.109.169:8080/a?name=mingming

二:params 传参也分编程式and声明式,传参分为明文(显示在地址栏)传参跟密文(不显示参数)传参两种 

1>params明文传参(显示在地址栏)

1.params明文传参(显示在地址栏)中  编程式配合name传参:

   路由表里面是动态路由:

 {

      name: 'b',

      path: '/b/:name&uuidL',

      component: () => import('@/view/B')

  },

页面跳转操作:

     this.$router.push({

          name: "b",

          params: {

            name:"mingming",

            uuidL:'1',

          },

        });

页面地址显示效果:http://10.170.109.169:8080/b/mingming&uuidL

2.params明文传参(显示在地址栏)中  编程式配合path传参:

   路由表里面是动态路由:

 {

      name: 'b',

      path: '/b/:name&uuidL',

      component: () => import('@/view/B')

  },

页面跳转操作:

   this.$router.push({

          path: `/b/name=${'mingming'}&uuidL=${'1'}`

        });

3.params明文传参(显示在地址栏)中  声明式配合name传参:

 路由表里面是动态路由:

 {

      name: 'b',

      path: '/b/:name&uuidL',

      component: () => import('@/view/B')

  },

 <router-link :to="{name:'b',params:{name:'mingming',uuidL:'1'}}">跳转</router-link>

页面地址显示效果:http://10.170.109.169:8080/b/mingming&uuidL

4.params明文传参(显示在地址栏)中  声明式配合path传参:

   路由表里面是动态路由:

 {

      name: 'b',

      path: '/b/:name&uuidL',

      component: () => import('@/view/B')

  },

声明式写法一:<router-link :to="{path:`/a/name=${'mingming'}uuidL=${'1'}`}">跳转</router-link>

页面实现效果:http://10.170.109.169:8080/a/name=mingminguuidL=1

声明式写法二:<router-link :to="`/a/name=${'mingming'}uuidL=${'1'}`">跳转</router-link>

页面显示效果:http://10.170.109.169:8080/a/name=mingminguuidL=1

2>params密文传参(不显示参数),只能配合name传参,不能配合path传参

1.params密文传参(不显示参数)编程式传参:

路由表显示:

  {

      name: 'b',

      path: '/b',

      component: () => import('@/view/B')

  },

页面操作:

 this.$router.push({

         name:"b",

         params:{name:"mingming",uuidL:'1'}

        });

页面地址显示效果:http://10.170.109.169:8080/b

2.params密文传参(不显示参数)声明式传参:

路由表显示:

  {

      name: 'b',

      path: '/b',

      component: () => import('@/view/B')

  },

页面操作:

<router-link :to="{name:'b',params:{name:'mingming',uuidL:'1'}}">跳转</router-link>

页面显示效果:http://10.170.109.169:8080/b

 

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值