2017-05-30 2 views
0

Ich versuche, auf eine Route umleiten, wenn Benutzer direkt die URL einfügen.Wie wird auf eine Route auf ngOnit umgeleitet?

Ich möchte beim Auftreffen auf die URL

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

hier ist mein Code den Benutzer/en/verkaufen Seite richten,

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

ich sehen kann this.router bekommen ausgeführt, aber die Anwendung hat keine Änderung. was ist das Problem?

Antwort

1

Sie haben ../ zu verwenden, wenn Sie /en/sell/confirmation-/en/sell/ hinwollen:

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

die documentation See.

+0

nicht seine nicht funktioniert entweder –

+0

Können Sie 'versuchen, diese .router.navigate (['/ en/sell']); ' – Saravana

0

Sie könnten stattdessen von Ihrem Routing umleiten:

{ 
    path: 'en/sell/confirmation', 
    redirectTo: 'en/sell', 
    pathMatch: 'full' 
}, 
0
import {OnInit} from '@angular/core'; 
import {Router} from '@angular/router'; 

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

Sie haben die relativeTo param angeben, wie unten:

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 }); 
    } 
} 
Verwandte Themen