Угловой маршрутизатор: как манипулировать данными каждого маршрута во время выполнения / динамически? - PullRequest
0 голосов
/ 21 ноября 2018

Проблема:
внешняя реализация хлебных крошек заставляет использовать такую ​​конструкцию для маршрутов:

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, ..., но я не хочу писать распознаватель для каждого определения маршрута и, возможно, позже удалять его, если улучшится хлебная крошка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...