web-dev-qa-db-fra.com

Angular 2 angulaire à window.location.href?

Comment peut-on naviguer vers une URL différente dans Angular 2? Je sais que nous pouvons utiliser JavaScript

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

Mais cela semble faux et entraînerait une actualisation de la page. Je suis à peu près sûr qu'il devrait y avoir une fonctionnalité dans Angular 2 qui vous permettra de vous déplacer entre les URL sans rafraîchir la page. Je n'arrive tout simplement pas à la trouver dans la documentation.

Merci d'avance!

10
Zorthgo

Selon la documentation, vous pouvez utiliser le routeur et sa fonction naviguer pour changer l'état actuel, et également passer les paramètres, si nécessaire:

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}]);
  }
}

Voici le lien vers le documentation officielle .

Et voici un projet link to seed avec un excellent exemple d'utilisation du routeur.

12
punov