在组件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']); } }