Betrachten Sie die folgenden zwei Klassen:Ein Standard-Vater-Router mit Kind Router
import { Router, RouterConfiguration } from 'aurelia-router';
export class MainPage
{
router: Router;
configureRouter(config: RouterConfiguration, router: Router)
{
config.map([
{ route: ['', 'entities'], name: 'entities', moduleId: './entities/entities', nav: true, title: 'Entities' },
{ route: 'structures', name: 'structures', moduleId: './structures/structures', nav: true, title: 'Data Structures' },
]);
this.router = router;
}
}
Und
import { Router, RouterConfiguration } from 'aurelia-router';
export class Entities
{
private router: Router;
configureRouter(config: RouterConfiguration, router: Router)
{
config.map([
{ route: '', name: 'entities-list', moduleId: './list', nav: true, title: 'Entities' },
{ route: 'events', name: 'entity-events', moduleId: './events', nav: true, title: 'Events' },
]);
this.router = router;
}
}
Das Problem ist, dass; in einer Seite, wo die URL lautet: http://localhost/
wenn ich ausführen:
this.router.navigateToRoute('entity-events');
Ich erhalte den Fehler ERROR [app-router] Error: Route not found: events
. Aber wenn ich die MainPage
Klasse dies zu ändern:
import { Router, RouterConfiguration } from 'aurelia-router';
export class MainPage
{
router: Router;
configureRouter(config: RouterConfiguration, router: Router)
{
config.map([
{ route: 'entities', name: 'entities', moduleId: './entities/entities', nav: true, title: 'Entities' },
{ route: 'structures', name: 'structures', moduleId: './structures/structures', nav: true, title: 'Data Structures' },
]);
this.router = router;
}
}
In einer Seite, die URL http://localhost/entities
liest, kann ich erfolgreich den gegebenen navigateToRoute
Befehl auszuführen. Aber dann verliere ich den Wurzelweg!
Wie kann ich einen übergeordneten Router mit einer Standardroute und einige untergeordnete Routen unter der Standardroute haben?
Danke Ashley, Sie haben immer Recht. – Mehran
Sag meiner Freundin nicht, dass du das gesagt hast :-P –