如何在 Angular2 中使用我的路由参数获得外部 JSON 数据文件?

How can I have an external JSON data file with my route parameters in Angular2?

我是 Angular 的新手,显然 Angular 2 也是。我正在尝试将我的路由参数存储在外部文件中(例如,JSON 格式的数据文件)。

我最接近让它工作的方法是创建一个 .js 文件,并将变量设置为我的路由参数,并将其包含在内。

var routeParams = [
        { path: '/',             as: 'Home',          component: HomeComponent },
        { path: '/petlist',      as: 'Petlist',       component: PetlistComponent }
    ];

然后将其用于 RouteConfig:

@RouteConfig(routeParams)

但问题是它期望组件是 类,而它们不存在于 .js 文件中。

我也尝试过 returns JSON 路由参数的函数,但组件 类.

也有同样的问题

我正在使用的系统已经有一个 UI 供用户创建网页、设置菜单等。我正在尝试让该系统输出 Bootstrap/Angular2 模板。因为用户可以创建自己的网页,所以我不确定如何设置路由,因为它们可以更改。我认为使用 JSON 数据文件是一个很好的解决方案,但我的应用程序显然需要使用该文件中的路由数据,而不是在应用程序中进行硬编码。

我正在使用 Angular 2.0.0-beta.0 和 TypeScript。

如果它可以在 angular2 中实现,那就太好了,不幸的是,您在 routing docs 中找不到任何类似的示例,您必须为每个路由手动定义组件 class。但是,您可以遍历共享同一组件的多条路线。 (例如:书签)

您可以在另一个数组中使用 resetConfig() , getting the data from server then reading actual router data with router.config 并推送新路由。

addRouteConfig(): void {
    const allRoute = this.router.config;
    allRoute.push(
        {
            path: 'someroute',
            component: someRouterComponent
        }
    );
    this.router.resetConfig(allRoute);
}