(1) 设置好路由配置
router.map({ '/history/:deviceId/:dataId': { name: 'history', // give the route a name component: { ... } } })
这里有2个关键点:
a)给该路由命名,也就是上文中的 name: 'history',
b)在路径中要使用在路径中使用冒号开头的数字来接受参数,也就是上文中的 :deviceId, :dataId;
(2)在v-link中传递参数;
<a v-link="{ name: 'history', params: { deviceId: 123, dataId:456 }}">history</a>
这里的123,456都可以改用变量。
比如该template所对应的组件有2个变量定义如下:
data: function() { return { deviceId:123, dataId:456 } }
此时上面那个v-link可以改写为:
<a v-link="{ name: 'history', params: { deviceId: deviceId, dataId: dataId }}">history</a>
(3)在router的目标组件上获取入参
比如在router目标组件的ready函数中可以这么使用。
ready: function(){ console.log('deviceid: ' + this.$route.params.deviceId); console.log('dataId: ' + this.$route.params.dataId); }
二、
1.路径:http://localhost:8081/#/test?name=1
<router-link :to="{path:'/test',query: {name: id}}">跳转</router-link>(id是参数)
使用:this.$route.query.id
2.路径:http://localhost:8081/#/test/1
<router-link :to="'/test/'+id">跳转</router-link>(id是参数)
路由:
使用:this.$route.params.id(这个id给上图路由的配置有关)
this.$route是一个数组,里面包含路由的所有信息
注意:router-link中链接如果是‘/’开始就是从根路由开始,如果开始不带‘/’,则从当前路由开始
三、
(1)在路由中重新设置选中的标签的class名(在router》index.html中设置)
linkActiveClass: 'active',
添加重定向:
redirect: '/goods?id=10'
原文链接:http://www.bubuko.com/infodetail-2227472.html
原文:http://blog.csdn.net/sangjinchao/article/details/70888259