在组件Angular 2中redirect

我有一个简单的方法,在它结束时,我想redirect到另一个组件:

export class AddDisplay{ display: any; addPairTo(name: string, pairTo: string){ this.display = {}; this.display.name = name; this.display.pairTo = pairTo; } } 

我想要做的是在方法的最后redirect到另一个组件:

 export class AddDisplay{ display: any; addPairTo(name: string, pairTo: string){ this.display = {}; this.display.name = name; this.display.pairTo = pairTo; this.redirectTo('foo'); } } 

我如何在Angular 2中实现这一点?

首先configuration路由

 import {RouteConfig, Router, ROUTER_DIRECTIVES} from 'angular2/router'; 

 @RouteConfig([ { path: '/addDisplay', component: AddDisplay, as: 'addDisplay' }, { path: '/<secondComponent>', component: '<secondComponentName>', as: 'secondComponentAs' }, ]) 

然后在你的组件导入,然后注入路由器

 import {Router} from 'angular2/router' export class AddDisplay { constructor(private router: Router) } 

你要做的最后一件事就是打电话

 this.router.navigateByUrl('<pathDefinedInRouteConfig>'); 

要么

 this.router.navigate(['<aliasInRouteConfig>']); 

@套件的答案是好的,但记得添加ROUTER_PROVIDERS组件中的提供者。 然后你可以在ngOnInit方法内redirect到另一个页面:

 import {Component, OnInit} from 'angular2/core'; import {Router, ROUTER_PROVIDERS} from 'angular2/router' @Component({ selector: 'loginForm', templateUrl: 'login.html', providers: [ROUTER_PROVIDERS] }) export class LoginComponent implements OnInit { constructor(private router: Router) { } ngOnInit() { this.router.navigate(['./SomewhereElse']); } }