0

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

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

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

然后将其用于 RouteConfig:

@RouteConfig(routeParams)

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

我还尝试使用返回 JSON 路由参数的函数,但组件类也有同样的问题。

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

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

4

2 回答 2

0

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

于 2015-12-24T02:12:29.193 回答
0

您可以使用resetConfig()从服务器获取数据,然后使用另一个数组中的router.config读取实际路由器数据,然后推送新路由。

addRouteConfig(): void {
    const allRoute = this.router.config;
    allRoute.push(
        {
            path: 'someroute',
            component: someRouterComponent
        }
    );
    this.router.resetConfig(allRoute);
}
于 2018-07-24T20:07:27.520 回答