У меня есть родительское представление, в котором я отображаю список и некоторые метаданные на правой панели, и я хочу заменить компонент правой панели, чтобы отобразить определенные c данные элемента, когда я нажимаю на них в списке:
export default {
mode: 'history'
base: process.env.BASE_URL,
routes: [
{
path: "/list",
name: "list",
components: {
mainView: () => import("@/views/ListView"),
rightPane: () => import("@/views/ListMetadata")
},
children: [
{
path: ":itemId"
name: "item"
components: {
rightPane: () => import("@/views/ItemData")
}
}
]
}
]
}
Мой шаблон выглядит так:
<template>
<div id="app">
<div id="content">
<div id="rightPane">
<router-view name="rightPane"></router-view>
</div>
<router-view name="mainView"></router-view>
</div>
</div>
</template>
Итак, когда я перехожу из «списка» в «элемент», я ожидаю, что правая панель изменится с ListMetadata на ItemData. Но в действительности ItemData не загружается, я думаю, это потому, что дочерний маршрут «не» знает свое родительское представление. Я поставил маршрут «item» как дочерний «list», так как он имеет смысл для меня, потому что основной вид он сохранил, а путь только расширен с указанным c ID.
Являюсь ли я правильно? Можете ли вы предложить способ достичь этого?