Ich habe eine einfache Methode, die ich am Ende auf eine andere Komponente umleiten möchte:
export class AddDisplay{
display: any;
addPairTo(name: string, pairTo: string){
this.display = {};
this.display.name = name;
this.display.pairTo = pairTo;
}
}
Was ich tun möchte, ist am Ende der Methode eine Umleitung zu einer anderen Komponente:
export class AddDisplay{
display: any;
addPairTo(name: string, pairTo: string){
this.display = {};
this.display.name = name;
this.display.pairTo = pairTo;
this.redirectTo('foo');
}
}
Wie erreiche ich dies in Angular 2?
javascript
angular
Drei Akzente
quelle
quelle
Antworten:
Konfigurieren Sie zuerst das Routing
import {RouteConfig, Router, ROUTER_DIRECTIVES} from 'angular2/router';
und
@RouteConfig([ { path: '/addDisplay', component: AddDisplay, as: 'addDisplay' }, { path: '/<secondComponent>', component: '<secondComponentName>', as: 'secondComponentAs' }, ])
dann in Ihre Komponente importieren und dann Router injizieren
import {Router} from 'angular2/router' export class AddDisplay { constructor(private router: Router) }
Das Letzte, was Sie tun müssen, ist anzurufen
this.router.navigateByUrl('<pathDefinedInRouteConfig>');
oder
this.router.navigate(['<aliasInRouteConfig>']);
quelle
navigateByUrl
Akzeptiert kein Array. Nur eine einzige Saite.navigate
undnavigateByUrl
scheinen die URL zu ändern, aber die an die Route gebundenen Komponenten werden nicht neu geladen.Die Antwort von @ kit ist in Ordnung, aber denken Sie daran, die
ROUTER_PROVIDERS
Anbieter in der Komponente zu ergänzen . Anschließend können Sie innerhalb derngOnInit
Methode auf eine andere Seite umleiten :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']); } }
quelle
Das hat bei mir funktioniert Angular cli 6.x:
import {Router} from '@angular/router'; constructor(private artistService: ArtistService, private router: Router) { } selectRow(id: number): void{ this.router.navigate([`./artist-detail/${id}`]); }
quelle
callLog(){ this.http.get('http://localhost:3000/getstudent/'+this.login.email+'/'+this.login.password) .subscribe(data => { this.getstud=data as string[]; if(this.getstud.length!==0) { console.log(data) this.route.navigate(['home']);// used for routing after importing Router } }); }
quelle