Angular Router:如何在运行时/动态处理每个路由数据?

时间:2018-11-21 13:16:10

标签: angular angular-router angular2-observables rxjs6 angular-observable

问题:
外部痕迹实现强制将这种构造用于路由:

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'} }, } ,但是我不想在每个路由定义上都编写解析器,并且可能以后将删除,如果面包屑将得到改善。

0 个答案:

没有答案