【问题标题】:Why doesn't Vue3 router not pass props with params?为什么 Vue3 路由器不通过参数传递道具?
【发布时间】:2020-01-31 17:26:34
【问题描述】:

我想将一个值作为 Vue3 中的 prop 传递给视图。 这种方法在 Vue2 项目中效果很好,但在 Vue3 中却不行

路由器:

{      
  path: "/view2",
  name: "view2",
  component: View2,
  props: true
}

查看 1(来自)

navigateTo(){
    this.$router.push({
      name: view2,
      params: {id: 'abc123'}
    })
}

查看2(到)

props:{
  id:{
    type: String,
    required: false
  }
}

每次调用navigateTo() 时,View2 中的“id”都是未定义的

我缺少什么,因为这在 vue2 项目中运行良好。

最好的

【问题讨论】:

  • 在路由器推送中尝试将:params: {id: 'abc123'} 更改为:props: {id: 'abc123'}
  • 谢谢,但结果相同。
  • 请在更改路线时使用console.log(to) 检查您的params
  • 从路由器级别登录时一切正常 => 参数:{ id: 'abc123' }
  • Vue 3?您使用的是预览版还是其他版本?

标签: vue.js vue-props


【解决方案1】:

您没有在路径中声明 id。

{      
  path: "/view2/:id", // <----
  name: "view2",
  component: View2,
  props: true
}

【讨论】:

  • 谢谢。我不需要传递路径或查询参数。需要将值传递给另一个视图的道具。
  • 看看这个答案:stackoverflow.com/a/50507329/8575814。是你要找的吗?
猜你喜欢
  • 2017-07-12
  • 2021-06-27
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 2020-11-12
  • 2020-04-03
  • 1970-01-01
相关资源
最近更新 更多