如何重定向到ngOnit上的路由?

时间:2017-05-30 02:05:23

标签: javascript angular typescript

我正在尝试在用户直接粘贴网址时重定向到路线。

我想在点击网址

时将用户定向到/ en / sell页面

http://localhost:3000/en/sell/confirmation

这是我的代码,

  ngOnInit() { 
    this.storedListing = this.sellerFlow.getSellerFlowObject(); 
    if (this.storedListing === null) {
      this.router.navigate(['./']);
    }
  }

我可以看到this.router被执行但应用程序没有任何变化。问题是什么?

4 个答案:

答案 0 :(得分:1)

如果您想从../转到/en/sell/confirmation,则必须使用/en/sell/

this.router.navigate(['../']);

请参阅documentation

答案 1 :(得分:0)

您可以改为从路由重定向:

{
    path: 'en/sell/confirmation',
    redirectTo: 'en/sell',
    pathMatch: 'full'
},

答案 2 :(得分:0)

import {OnInit} from '@angular/core';
import {Router} from '@angular/router';

export class AddDisplay {
  constructor(private router: Router){}
  ngOnInit() {
    this.router.navigate(['./SomewhereElse']);
  }
}

答案 3 :(得分:0)

您必须指定relativeTo参数,如下所示:

import { ActivatedRoute, Router } from '@angular/router';

constructor(private route: ActivatedRoute, private router: Router) { }

ngOnInit() { 
  this.storedListing = this.sellerFlow.getSellerFlowObject(); 
  if (this.storedListing === null) {
    this.router.navigate(['../'], { relativeTo: this.route });
  }
}