2017-08-27 34 views
1

我已經定義了一個路由器鏈路vuejs:路由器鏈接參數爲空

<router-link :to="{ path: linkTo + '/' + item.name, params: { id: item.id } }" >{{item.name}}</router-link> 

但是,當我檢查路由器的鏈路,params對象始終是空的。

enter image description here 我做錯了什麼?如果我只輸出與ID {{item.id}}我得到的數...

這是我的路線

{ path: '/category/:name', component: Category, props: true, name: 'category', meta: { auth: true } }, 

格雷戈爾

回答

1

在路由指定的動態段是「名稱「,而不是」ID「。這意味着你的$ route.params對象沒有「id」屬性,你不能使用你的子組件中的道具來訪問它。

您必須將路線更改爲path: '/category/:id'或將路由器鏈接參數更改爲params: { name: item.id }。不要忘記在子組件中添加props: ['id'](或props: ['name'])。

+0

啊,好吧,但有沒有辦法如何保持路徑中的真實姓名(爲了更簡單的閱讀),併發送引擎蓋下的ID? –

+1

你可以在route中使用2個參數:path:''/ category /:name /:id''(但路徑會更長,但可讀性更差) –