Vue系列:通过vue-router如何传递参数示例
使用vue-router来实现webapp的页面跳转,有时候需要传递参数,做法如下:
参考文献:http://router.vuejs.org/en/named.html
主要有以下几个步骤:
(1)设置好路由配置
router.map({
'/history/:deviceId/:dataId':{
name:'history',//givetherouteaname
component:{...}
}
})
这里有2个关键点:
a)给该路由命名,也就是上文中的name:'history',
b)在路径中要使用在路径中使用冒号开头的数字来接受参数,也就是上文中的:deviceId,:dataId;
(2)在v-link中传递参数;
<av-link="{name:'history',params:{deviceId:123,dataId:456}}">history</a>
这里的123,456都可以改用变量。
比如该template所对应的组件有2个变量定义如下:
data:function(){
return{
deviceId:123,
dataId:456
}
}
此时上面那个v-link可以改写为:
<av-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);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。