如何通过 Vue 3 Router 链接传递道具?

How to pass props via Vue 3 Router link?

提问人:Ron 提问时间:11/9/2023 最后编辑:Ron 更新时间:11/9/2023 访问量:33

问:

我正在尝试将道具传递给链路路由器和子组件,但我收到警告“缺少所需的道具:”飞机”

//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> 
  </div>
</template>

"

我希望在子组件中渲染和初始化道具,因为它在使用 vue 3 和 Quasar 的路由器链接中定义了一个参数

javascript vue.js vuejs3 路由器 类星体

评论

0赞 Estus Flask 11/9/2023
目前尚不清楚这段代码是如何相关的。“路由器链路组件”和“子组件”——它们到底是哪一个?
0赞 Estus Flask 11/9/2023
父级是 AircraftComponent 还是?如果问题依赖于上一个问题的路由层次结构,请考虑使用 stackoverflow.com/help/mcve 更新当前路由,因为它实际上取决于此
0赞 Ron 11/9/2023
父组件在模板中有一个子组件,这个子组件内部有一个 routerl 链接,其中包含指向第二个子组件的 lingk

答: 暂无答案