Я добавляю в свой routes
файл path
с children
:
path: '/warehouse/:id',
name: 'ShowWarehouse',
component: ShowWarehouse,
children: [{
path: 'edit',
name: 'EditWarehouse',
component: EditWarehouse
}
]
Сейчас в компоненте ShowWarehouse
У меня есть:
<div v-if="!changeEdit">
<div v-if="warehouseData">
<div>Name: {{ warehouseData.warehouse.name }}</div>
<div>
<router-link
:to="{ name: 'EditWarehouse', params: {id: warehouseData.warehouse.id }}"
>Edit</router-link>
</div>
</div>
</div>
<router-view v-else></router-view>
Когда пользователь нажимает кнопку edit
, мне нужно загрузить компонент EditWarehouse
, но компонент ShowWarehouse
должен исчезнуть, а если пользователь обратно (без /edit
) исчезнет, компонент EditWarehouse
и загрузить компонент ShowWarehouse
. Я пишу метод в watch
:
watch: {
$route() {
if (this.$route.path == '/warehouse/' + id_get_from_API + '/edit') {
this.changeEdit = true;
} else {
this.changeEdit = false;
}
}
},
Проблема в том, что когда пользователь находится на mydomain.com/warehouse/23/edit
и щелкает страницу перезагрузки (F5), тогда Vue загружает компонент ShowWarehouse
вместо загрузки EditWarehouse
.
Я использую mode: 'history'
.