2015-10-24 10 views
9

Wie kann man innerhalb von Angular 2 zu einer anderen URL navigieren? Ich weiß, dass wir JavaScript verwenden könnenAngular 2 entspricht window.location.href?

window.location.href = '...';

Aber das scheint falsch und würde eine Seite aktualisieren. Ich bin ziemlich sicher, dass in Angular 2 Funktionalität vorhanden sein sollte, mit der Sie zwischen URLs wechseln können, ohne die Seite zu aktualisieren. Ich kann es einfach nicht in der Dokumentation finden.

Vielen Dank im Voraus!

Antwort

10

Gemäß der Dokumentation können Sie Router und seine navigate Funktion verwenden, um aktuellen Zustand zu ändern, und auch die Parameter übergeben, falls erforderlich:

import {Component, ...} from 'angular2/angular2'; 
import {Router, ...} from 'angular2/router'; 
import {HomeCmp} from '../home/home'; 

@Component({ 
    selector: 'app', 
    // params of your component here 
}) 
@RouteConfig([ 
    { path: '/', component: HomeCmp, as: 'MyHome' }, 
    // your other states here 
]) 

export class AppCmp { 
    router: Router; 
    constructor(router: Router) { 
    this.router = router; 
    } 
    navigateToHome() { 
    // for example, that's how we can navigate to our home route 
    this.router.navigate(['./MyHome', {param: 3}]); 
    } 
} 

Hier ist der Link zu der official documentation.

Und hier ist ein link Seed-Projekt mit einem guten Beispiel für die Verwendung von Router.

+0

Hey Punov, Tausend Dank für die Hilfe und den Link! ;) – Zorthgo

+0

Gern geschehen, hoffe es hat geholfen! – punov

+0

Oh, ich habe einen kleinen Fehler gemacht, behoben. – punov