Проблема:
внешняя реализация хлебных крошек заставляет использовать такую конструкцию для маршрутов:
export const routes = {
path: 'xx',
component: xxComponent,
data: {
title: 'someTitle' //<-- breadcrumb requirement
},
}
текущий проект имеет что-то вроде:
export const routes = {
path: 'xx',
component: xxComponent,
data: {
options: {title: 'some.title'} //<-- current project, will be translated.
},
}
данные из options
будет переведен тогда.
, поскольку хлебные крошки не могут быть переведены, и нужна другая структура data
, было бы неплохо установить data.title = translate(data.options.title)
динамически на каждый вызов маршрута (полные маршрутыдерево, так как крошка пересекает его)
конечный результат должен быть тогда:
export const routes = {
path: 'xx',
component: xxComponent,
data: {
title: 'translatedSomeTitle' //<--should be dynamically added
options: {title: 'some.title'}
},
}
Как написать такой перехватчик?
Есть ли лучший способ решить проблему?
Одним из решений может быть распознаватель ... data: {title: TitleResolver, ...
, но я не хочу писать распознаватель для каждого определения маршрута и, возможно, позже удалять его, если улучшится хлебная крошка.