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
頁面刷新後 參數不存在,會致使報錯