Я создаю приложение Cordova Vue. Во многих случаях есть более глубокие ссылки, такие как
/profile/:id/:contact_type/contacts:contact_id
Где вы вначале будете на /profile/:id
, а затем нажмите на ссылку, чтобы перейти на /profile/:id/:contact_type/contacts:contact_id
Стандартный router.go(-1)
отлично работает, если вы сначала были на странице профиля. Но если вы получаете уведомление или что-то, и отправляются с любой страницы, например /settings/:id
. Ваша кнопка «Назад» должна вести себя больше как кнопка «Вверх», нажатие на /profile/:id/:contact_type/contacts:contact_id
должно привести к /profile/:id
, а не /settings/:id
.
Как мне это настроить? Я попытался сделать несколько вещей, таких как разделение текущего маршрута на /
и отображение его, затем присоединение к нему и переход к нему. Но это не работает с параметрами, особенно если их больше 1.
const path = router.currentRoute.path
const URLSplit = path.split('/')
URLSplit.length = URLSplit.length - 1
const newTarget = URLSplit.join('/')
if (newTarget) {
router.push(newTarget)
} else {
router.push('/home')
}
Я также пытался использовать дочерние маршруты, но для этого требуется router-view
на каждой странице, а это не то, что я хочу делать.
Я уже зафиксировал операцию кнопки возврата, я просто хочу знать, есть ли способ настроить Vue для выполнения такой операции возврата, или есть способ, которым я должен настроить маршрутизатор для этого , или функция, которая может выяснить текущий маршрут и подойти к нему?