1.经过配置路由的name 进行匹配路由,经过params/query达到传递参数的效果bash
//跳转代码
this.$router.push({
name: 'Detail',
params: {
id: id
}
})复制代码
路由配置this
{
path: '/detail',
name:'Detail',
component: Detail
},复制代码
获取参数url
this.$route.params.id复制代码
优势 :参数不在url里面显示spa
缺点:页面刷新,参数不存在code
query和params用法同样,只须要把params 改为 query component
2.经过url传参router
//跳转代码
this.$router.push({
name: 'Detail',
query: {
id: id
}
})复制代码
路由配置路由
{
path: '/detail',
name:'Detail',//无关紧要
component: Detail
},复制代码
获取参数string
this.$route.query.id复制代码
优势 :页面刷新,参数存在class
缺点:参数在url里面显示,不美观
3.直接用$router.push 实现携带参数的跳转
//跳转代码
this.$router.push({ path:`../detail/${id}`})复制代码
路由配置
{
path: '/detail/:id',
name:'Detail',//无关紧要
component: Detail
},复制代码
获取参数
this.$route.params.id复制代码
小结:query在页面刷新后,参数还存在,可是会在url中展现
params
页面刷新后 参数不存在,会致使报错