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 版权协议,转载请附上原文出处链接和本声明。