web-dev-qa-db-fra.com

Erreur: ne peut correspondre à aucun itinéraire. Segment URL: ''

J'essaie de reproduire mon problème avec le routeur Angular2 mais je ne peux pas créer une copie de travail de mon projet dans Plunker.

Voici mon essai: https://plnkr.co/edit/1lpoYP4qlBZLuqZHW7Ft

J'ai utilisé la ligne de code suivante dans le index.html fichier pour que les chemins d'accès fonctionnent avec l'environnement d'exécution de Plunker et avec mon '' chemins par défaut.

<script>document.write('<base href="' + document.location + '" />');</script>

Pourquoi je reçois toujours cette erreur?

5
smartmouse
  1. Vous avez une petite faute de frappe dans votre plnkr:

    loadChildren: 'app/ fist - section.module # FirstSectionModule'}

    peut être en premier ;)

  2. Il y a encore un autre problème: même les enfants ont besoin d'un ''-chemin. Donc au lieu d'écrire

children: [ { path: 'first-section', loadChildren: 'app/first-section.module#FirstSectionModule' } ] vous devez ajouter un chemin vide et rediriger vers le first-section- chemin comme celui-ci:

children: [
    { path: '', redirectTo: 'first-section'},
    { path: 'first-section', loadChildren: 'app/fist-section.module#FirstSectionModule' }
]

Voici le plnkr corrigé:

https://plnkr.co/edit/9fMwx0?p=preview


Mettre à jour Angular 2.4.1:

J'ai remarqué qu'avec la dernière version de angular (2.4.1) il n'est plus nécessaire d'utiliser un chemin vide pour les routes enfants.

J'ai mis à jour le plunker avec la dernière version angular 2.4.1: PLUNKER . L'échantillon fonctionne sans droit de chemin vide maintenant.

10
Philipp Kief