vuejs:路由器链接参数为空
问题描述:
我已经定义了一个路由器链路vuejs:路由器链接参数为空
<router-link :to="{ path: linkTo + '/' + item.name, params: { id: item.id } }" >{{item.name}}</router-link>
但是,当我检查路由器的链路,params对象始终是空的。
我做错了什么?如果我只输出与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']
)。
啊,好吧,但有没有办法如何保持路径中的真实姓名(为了更简单的阅读),并发送引擎盖下的ID? –
你可以在route中使用2个参数:path:''/ category /:name /:id''(但路径会更长,但可读性更差) –