Wie übergebe ich Daten (ausgewähltes Element) an die von Durandal erstellte Detailansicht?

Ich habe angefangen zu verwenden (seit vor ein paar Stunden)Durandal mit der Hoffnung, Ansichten zu verwalten und die Komposition auf einer einzigen Seite zu ermöglichen - der vorherige Ansatz, der ebenfalls Knockout verwendete, wurde zu unhandlich, um ihn in einer fetten HTML-Datei zu verwalten.

Ich habe Durandal installiert / eingerichtet und kann Ansichten und Ansichtsmodelle erstellen. Ich weiß jedoch nicht, wie ich Daten abrufen sollin das Ansichtsmodell, das alsBasis für das neue Ansichtsmodell.

Zum Beispiel habe ich eine "linke Navigationsleiste" zum Auswählen von Objekten - wenn ein Objekt ausgewählt wird, wird ein "ausgewähltes Objekt" aktualisiert, das im aktuellen Modell zu beobachten ist, aber es sollteebenfalls Laden Sie die richtige "Detailansicht" auf der rechten Seite: Da ein Teil des Grundes, Durandal zu versuchen, die Komponenten / Ansichten zu trennen, sollte dies aus einer separaten Ansicht / einem separaten Ansichtsmodell stammen.

Ich habe die Dokumentation einschließlich gelesenZusammensetzung undKomposition verwenden, aber die Methode zuWie daten an das viewmodel weiterzugeben ist mir nicht klar. Es scheint, als könnte ich eine Ansicht mit einem vorhandenen Modell (in der aktuellen Ansicht / im aktuellen Bereich) verwenden, aber ich möchte wirklich nur einige der aktuellen Modelldaten (dh eine ID) verwenden, um die "echten" Modelldaten in abzurufen die Aussicht.

So meine Fragen;

Wie wird die Übergabe von Anfangsdaten wie dem "ausgewählten Element" an ein Ansichtsmodell gehandhabt? Ich würde es vorziehen, das deklarative "compose:" zu verwenden, da dies KO .. KO macht.

Ist dieser Gedanke, anfängliche Daten zu haben / weiterzugeben, der richtige Weg, oder gibt es eine bessere Alternative? Ich habe gesehen, dass "activeItem" vage erwähnt wurde, aber die Details / die Verwendung lassen mich unkenntlich.

Update 1: Ich habe gefundenWie teilen wir die Daten zwischen Ansichten / Übergeben Sie die Datenansicht zur Ansicht, aber die Antworten fehlen in der tatsächlichen Umsetzung. Ich möchte das Ansichtsmodell wirklich nicht auf Eltern-Kind-Modelle (unterschiedliche Ansichts- / Ansichtsmodellpaare) verteilen und möchte einen deklarativen Ansatz verwenden (keine Ereignisse). Der Elternteil muss nichts über das Kind wissen, aber dem Kind müssen Daten vom Elternteil zugeführt werden.

Update 2: Während ich oben angedeutet habe, dass nur die "ID" erforderlich ist, hätte ich gerne einen Ansatz, der funktioniertirgendein Basisobjekt, für das der Router nicht unbedingt geeignet ist. Deep Linking ist in diesem Fall kein Problem. Wenn Sie jedoch das Gefühl haben, ist der Routerder Weg Um dem zu begegnen, poste ein Argument für eine solche (mit Details) als Antwort und ich werde es zumindest abstimmen lassen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage