Ich bekomme "Route nicht gefunden", wenn ich versuche, Kind Routing zu verwenden. Um meine Grundlagen abzudecken, hier ist, wie das Routing in der Anwendung gestaltet ist.Route Nicht gefunden Fehler in Durandal Kind Route
Die main.js Datei enthält Routing für die Top-Navigation und erfolgt as-
router.map([
{ route: 'LOC', moduleId: 'LOC', title: 'LC', nav: 3 }
]);
I Karte Routen für die Fußzeile der Seite as-
router.map('About', 'About', 'About', false);
router.map('Help', 'Help', 'Help', false);
Wenn ein Benutzer auf klickt Wenn Sie oben die "LOC" -Route erstellen, wird das linke Navigationsfenster in dieser Ansicht angezeigt. Diese Ansicht verwendet das Kind Routing und as-
var childRouter = router.createChildRouter()
.makeRelative({
moduleId: 'viewmodels/',
fromParent: true
}).map([
{ route: '*LCClientSearch', moduleId: 'LCClientSearch', title: 'Create LC', type: 'intro', hash: '#LCClientSearch', nav: true },
{ route: '*LCPending', moduleId: 'LCPending', title: 'Pending LC', type: 'intro', hash: '#LCPending', nav: true }
]).buildNavigationModel();
LOC standardmäßig auf die LCClientSearch Route und zeigt sie richtig zunächst JEDOCH aufgebaut, nichts rechts von diesem Punkt geschieht auf. Wenn der Benutzer auf LCClientSearh oder LCPending klickt, bekomme ich den Fehler "Route nicht gefunden".
LOC view-
<div class="span2 well">
<ul class="nav nav-list">
<li class="nav-header">Availability</li>
<!--ko foreach: availability-->
<li data-bind="css: { active: isActive }">
<a data-bind="attr: { href: hash }, text: title"></a>
</li>
<!--/ko-->
<li class="nav-header">Manual Post</li>
<!--ko foreach: ManualPost-->
<li data-bind="css: { active: isActive }">
<a data-bind="attr: { href: hash }, text: title"></a>
</li>
<!--/ko-->
</ul>
</div>
Warum erhalte ich Route nicht gefunden?
Ich denke, die ModuleId in Ihrem Kind-Router sollte "LOC" nicht Viewmodels sein. – nimgrg
@nimgrg Ich habe die Modul-ID geändert, funktioniert aber immer noch nicht. Wenn die Seite zum ersten Mal geladen wird, wird die Ansicht LCClientSearch in Ordnung geladen. Es wird also die untergeordnete Route gefunden, wenn die Seite geladen wird. Es ist nur so, dass die Navigation nicht funktioniert, wenn Sie auf die untergeordneten Routenlinks klicken. – Chris