vue2 router 动态传参,多个参数

  • Post author:
  • Post category:vue


vue2 router 动态传参,多个参数

一 :方法一

 <span class="look" title="查看" @click="view(item.id)"></span>   
 view(id){
        this.$router.push({path:"/cbimToolsBack/toolsDetail",query:{id:id,mode:"view"}})
        },

在 /cbimToolsBack/toolsDetail 这个路由里这样接收 let query = this.$route.query。

这种简单直接,推荐使用。

二 :方法二

这种做法不太推荐,比较笨,

这个是用vue-cli生成的项目下使用。

比如有个路由跳转时需要带两个参数:

 <router-link to='/tr'>查看</router-link>

可以这样写:

 <router-link to='/tr/uid/pid'>查看</router-link>

然后去router.js 中 处理这个路由:

import Vue from 'vue'
import Router from 'vue-router'
import tr from '@/components/tr.vue'
import tab from '@/components/tab.vue'

Vue.use(Router)

export default new Router({
  routes: [

    {
        path:'/tr/:uid/:pid',
        name: 'tr',
        component:tr
    },
    {
        path:'/tab',
        name: 'tab',
        component:tab
    }
  ]
})

需要在router.js 中使用vue-router,具体是在path:’/tr/:uid/:pid’, 反斜杠后加冒号,意思是后面就是路由的参数。

然后去对应tr.vue组件中接受这个路由参数:

通过实例的this.$route.params,可访问这个key-value对象,

 我们给请求路由赋个值看看:

<router-link to='/tr/15/122'>查看</router-link>

打印如下Object {uid: "15", pid: "122"} 

ok



版权声明:本文为liuhongyi0104原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。