【问题标题】:vuejs: router-link params is emptyvuejs:路由器链接参数为空
【发布时间】:2018-02-04 18:15:22
【问题描述】:

我已经定义了一个路由器链接

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

但是当我检查路由器链接时,params 对象总是空的。

我做错了什么?如果我只是用 {{item.id}} 输出 id,我会得到数字...

这是我的路线

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

格雷戈

【问题讨论】:

    标签: vue.js vue-router


    【解决方案1】:

    您的路线中指定的动态段是“名称”,而不是“id”。这意味着您的 $route.params 对象没有“id”属性,并且您无法使用子组件中的道具访问它。

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

    【讨论】:

    • 好吧,但是有没有办法让我在路径中保留真实姓名(以便于阅读)并在后台发送 ID?
    • 您可以在路由中使用 2 个参数:路径:'/category/:name/:id'(但路径会更长且可读性较差)
    猜你喜欢
    • 2018-05-23
    • 1970-01-01
    • 2021-10-02
    • 2023-04-09
    • 2018-04-30
    • 2023-04-01
    • 2018-04-22
    • 2020-08-30
    • 2021-10-28
    相关资源
    最近更新 更多