向angular2中的路由添加属性
Add properties to routes in angular2
我想知道是否可以向 RouteConfig 装饰器中定义的路由添加自定义 属性。
我想添加路由是否需要身份验证:
@RouteConfig([
{
path: "/login",
name: "Login",
component: LoginComponent,
authenticate: false,
},
{
path: "/home",
name: "Home",
component: HomeComponent,
authenticate: true
}
])
如果可以的话,如何获取组件中的值"authenticate"?
我认为您可以利用 RouteDefinition
接口的 data
属性:
@RouteConfig([
{
path: "/login",
name: "Login",
component: LoginComponent,
data: {
authenticate: false
}
},
{
path: "/home",
name: "Home",
component: HomeComponent,
data: {
authenticate: true
}
}
])
它是 any
类型,因此您可以在其中放入您想要的内容(参见 https://github.com/angular/angular/blob/master/modules/angular2/src/router/route_definition.ts#L25):
export interface RouteDefinition {
path?: string;
aux?: string;
component?: Type | ComponentDefinition;
loader?: Function;
redirectTo?: any[];
as?: string;
name?: string;
data?: any;
useAsDefault?: boolean;
}
我想知道是否可以向 RouteConfig 装饰器中定义的路由添加自定义 属性。
我想添加路由是否需要身份验证:
@RouteConfig([
{
path: "/login",
name: "Login",
component: LoginComponent,
authenticate: false,
},
{
path: "/home",
name: "Home",
component: HomeComponent,
authenticate: true
}
])
如果可以的话,如何获取组件中的值"authenticate"?
我认为您可以利用 RouteDefinition
接口的 data
属性:
@RouteConfig([
{
path: "/login",
name: "Login",
component: LoginComponent,
data: {
authenticate: false
}
},
{
path: "/home",
name: "Home",
component: HomeComponent,
data: {
authenticate: true
}
}
])
它是 any
类型,因此您可以在其中放入您想要的内容(参见 https://github.com/angular/angular/blob/master/modules/angular2/src/router/route_definition.ts#L25):
export interface RouteDefinition {
path?: string;
aux?: string;
component?: Type | ComponentDefinition;
loader?: Function;
redirectTo?: any[];
as?: string;
name?: string;
data?: any;
useAsDefault?: boolean;
}