我是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。
答案 0 :(得分:0)
如果它在angular2中可能会很好,遗憾的是,你不会在routing docs中找到任何这样的例子,你必须为每条路线手动定义组件类。但是,您可以循环共享同一组件的多个路由。 (例如:书签)
答案 1 :(得分:0)
您可以使用resetConfig()进行此操作,从服务器获取数据,然后使用router.config在另一个阵列中读取实际的路由器数据,然后推送新的路由。
addRouteConfig(): void {
const allRoute = this.router.config;
allRoute.push(
{
path: 'someroute',
component: someRouterComponent
}
);
this.router.resetConfig(allRoute);
}