在新选项卡中打开<router-link>时,不会传递道具?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (178)

我有条路线:

{ path: "reporting/report/result", name: "reportResult", component: ResultTable, props: true }

和路由器连接:

<router-link :to="{ name: 'reportResult', params: {reportId: 21, tableData: 'data'}}" target="_blank">{{ report.reportId }}</router-link>

但是道具不会传递给子组件。如果使用路由器-链接target="_blank"一切正常。也许还有另一种方法可以打开新标签中的链接并将道具传递给它?

提问于
用户回答回答于

路由器链接参数选项不会在查询中传递对象,如果要传递对象,则必须使用查询args。根据Vue路由器文档

// named route
router.push({ name: 'user', params: { userId: 123 }})

// with query, resulting in /reportResult?reportId=21&tableData=data
router.push({ path: 'reportResult', query: {reportId: 21, tableData: 'data'}})

在你的页面中,你可以访问以下查询:

this.$route.query.reportId (or this.$route.params.reportId, I don't remember)

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券