Сначала определение моего маршрута
{
path: '/b',
name: 'B',
component: resolve => require(['../pages/B.vue'], resolve)
}
Я перехожу от компонента A к компоненту B и передаю некоторые параметры через объект информации о маршруте
this.$router.push({
path: '/b',
params: {
paramA: 'a'
},
query:{
paramB: 'b'
}
})
Получить параметры в компоненте B
this.$route.query.paramB //b
this.$route.params.paramA //undefined
Параметр paramB, передаваемый через объект params маршрута, всегда не определен, и причина не может быть найдена.
Проконсультировавшись с документацией, я, наконец, нашел причину, потому что используется объект params маршрута, и маршрут должен вызываться по имени маршрута, а не по пути, но объект запроса не имеет этого требования. Итак, давайте изменим код:
this.$router.push({
name: 'B',
params: {
paramA: 'a'
},
query:{
paramB: 'b'
}
})
Просто замените параметр Path с соответствующим названием маршрута. В это время все нормально, чтобы получить параметры.
this.$route.query.paramB //b
this.$route.params.paramA //a