如何在 Vue 3 Quasar 中通过路由器链接传递道具?

How to pass props via router link in Vue 3 Quasar?

提问人:Ron 提问时间:11/9/2023 更新时间:11/9/2023 访问量:28

问:

我用这个问题重新格式化了上一个问题。

我有一个带有 sjingle 子组件的父组件。此子组件具有指向另一个子组件的路由器链接。问题是我看不到通过路由器链接传递的道具。出现错误“无法读取未定义的属性(读取'tail')”

//routes.js
const routes = [
  {
      path: 'aircraftsForm/:id',
      component: () => import('../components/AircraftComponent.vue'),
      props: true
    }
 ]
// Parent component
const details = ref([
    {
      id: 1,
      tail: '501'
   },
{
      id: 2,
      tail: '502'
   }
])
<template>
    <AircraftsFormComponent :details="details"/>
</template>

// First Child component
const props = defineProps(['details'])
<q-table
      :rows="rows"
      :columns="columns"
      row-key="id"
      flat bordered
      >
      <template v-slot:body="props">
        <q-tr :props="props">
<router-link 
     :to="{ 
      path: `aircraftsForm/${props.row.id}`,
      params: { aircraft: props.row }
     }" >
  </router-link>
</q-table>

// Second child component
<script setup>
  const props = defineProps({
    aircraft: {
      required: true,
      type: Object
    }
  })

</script> 

<template>
  <div>
    <p>Aicraft</p>
    <p>tail {{ aircraft.tail }} </p>    //can't see the contnent here
  </div>
</template>

我希望在路由器链接中看到渲染的道具

javascript vue.js vuejs3 路由器 类星体

评论

0赞 Estus Flask 11/9/2023
该问题与上一个问题存在相同的问题,stackoverflow.com/questions/77453422,您可以对其进行编辑而不是发布重复问题。目前尚不清楚这些组件究竟是如何相关的。“孩子”是模棱两可的。这是必不可少的,因为您依赖于它们在道具通过应用程序传递方式方面的关系。如果它们是子路由,则代码应反映这一点。.你看到了你自己的代码,所以你是如何工作的,其他用户没有。它应该包含 stackoverflow.com/help/mcve,即足够的代码来从头开始重现问题

答: 暂无答案