vuejs:路由器链接参数为空

问题描述:

我已经定义了一个路由器链路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 } }, 

格雷戈尔

在路由指定的动态段是“名称“,而不是”ID“。这意味着你的$ route.params对象没有“id”属性,你不能使用你的子组件中的道具来访问它。

您必须将路线更改为path: '/category/:id'或将路由器链接参数更改为params: { name: item.id }。不要忘记在子组件中添加props: ['id'](或props: ['name'])。

+0

啊,好吧,但有没有办法如何保持路径中的真实姓名(为了更简单的阅读),并发送引擎盖下的ID? –

+1

你可以在route中使用2个参数:path:''/ category /:name /:id''(但路径会更长,但可读性更差) –