Angular2 两条路线到一个组件?
Angular2 two routes to one component?
在Angular 2 我想定义两条路线,它们使用相同的组件,但一条路线是使用特殊预设参数的特殊情况。现在我要做的是他的:
@RouteConfig([
{ path: '/', name: 'Home', component: HomeComponent },
{ path: '/user/:id', name: 'User', component: UserComponent },
{ path: '/special-user', name: 'User', component: UserComponent, params:{'userId':'123'} },
])
我需要的是 "params" 最后一个到“/special-user”的路由定义。这可能吗?
编辑:在路径 /user/:id 中,id 是 url 的一部分,但在特殊用户情况下,我希望 id 不可见,而不是 url 的一部分url
Angular 2 Beta.x
定义路线为
@RouteConfig([
...
{ path: '/special-user/:userId', name: 'SpecUser', component: UserComponent}
])
使用
内部模板
[routerLink]="['SpecUser', {userId:123}]"
内部组件
export class SomeComponent {
constructor(private router: Router) {}
someMethod() {
this.router.navigate(['SpecUser', {userId:123}]);
}
}
Angular 2 RC
定义路线为
@Routes([
...
{ path: '/special-user/:userId', component: UserComponent}
])
使用
内部模板
[routerLink]="['/special-user', 123]"
内部组件
export class SomeComponent {
constructor(private router: Router) {}
someMethod() {
this.router.navigate(['/special-user', 123]);
}
}
我在这篇文章中找到了答案:
https://auth0.com/blog/2016/01/25/angular-2-series-part-4-component-router-in-depth/1
配置路由
@RouteConfig([
{ path: '/myroute', component: MyComponent, name: 'MyRoute', data: { isAdmin: true } }
])
组件内部:
import {RouteData} from 'angular2/router';
export class MyComponent {
isAdmin: boolean;
constructor(data: RouteData) {
this.isAdmin = data.get('isAdmin');
}
}
在Angular 2 我想定义两条路线,它们使用相同的组件,但一条路线是使用特殊预设参数的特殊情况。现在我要做的是他的:
@RouteConfig([
{ path: '/', name: 'Home', component: HomeComponent },
{ path: '/user/:id', name: 'User', component: UserComponent },
{ path: '/special-user', name: 'User', component: UserComponent, params:{'userId':'123'} },
])
我需要的是 "params" 最后一个到“/special-user”的路由定义。这可能吗?
编辑:在路径 /user/:id 中,id 是 url 的一部分,但在特殊用户情况下,我希望 id 不可见,而不是 url 的一部分url
Angular 2 Beta.x
定义路线为
@RouteConfig([
...
{ path: '/special-user/:userId', name: 'SpecUser', component: UserComponent}
])
使用
内部模板
[routerLink]="['SpecUser', {userId:123}]"
内部组件
export class SomeComponent {
constructor(private router: Router) {}
someMethod() {
this.router.navigate(['SpecUser', {userId:123}]);
}
}
Angular 2 RC
定义路线为
@Routes([
...
{ path: '/special-user/:userId', component: UserComponent}
])
使用
内部模板
[routerLink]="['/special-user', 123]"
内部组件
export class SomeComponent {
constructor(private router: Router) {}
someMethod() {
this.router.navigate(['/special-user', 123]);
}
}
我在这篇文章中找到了答案:
https://auth0.com/blog/2016/01/25/angular-2-series-part-4-component-router-in-depth/1
配置路由
@RouteConfig([
{ path: '/myroute', component: MyComponent, name: 'MyRoute', data: { isAdmin: true } }
])
组件内部:
import {RouteData} from 'angular2/router';
export class MyComponent {
isAdmin: boolean;
constructor(data: RouteData) {
this.isAdmin = data.get('isAdmin');
}
}