Jak przekazać dane (wybrany element) do widoku szczegółowego skomponowanego przez Durandala?

Zacząłem używać (od, kilka godzin temu)Durandal z nadzieją na zarządzanie widokami i umożliwienie kompozycji na jednej stronie - poprzednie podejście, również z wykorzystaniem Knockout, było zbyt trudne do utrzymania w grubym pliku HTML.

Zainstalowałem / ustawiłem Durandala i mogę tworzyć widoki i viewmodele - nie wiem jednak, jak uzyskać danew model widoku do użycia jakopodstawa dla nowego modelu widoku.

Na przykład mam „lewy pasek nawigacyjny” do wybierania elementów - po wybraniu elementu aktualizuje „zaznaczony element” widoczny w bieżącym modelu, ale powinienrównież załaduj poprawny „widok szczegółów” po prawej stronie: ponieważ z powodu próby wypróbowania Durandala w celu oddzielenia komponentów / widoków, powinno to wynikać z oddzielnego widoku / modelu widoku.

Przeczytałem dokumentację, w tymKompozycja iUżywanie kompozycji, ale metoda jakw jaki sposób przekazywanie danych do modelu podglądu nie jest dla mnie jasne. Wygląda na to, że mógłbym użyć widoku z istniejącym modelem (w bieżącym widoku / zakresie), ale naprawdę chciałbym po prostu użyć niektórych aktualnych danych modelu (tj. Id), aby pobrać „prawdziwe” dane modelu w widok.

Tak więc moje pytania;

W jaki sposób przekazuje się dane początkowe, takie jak „wybrany element” do modelu widoku? Wolałbym używać deklaratywnego wiązania „komponuj:”, ponieważ to sprawia, że ​​KO .. KO.

Czy pojęcie posiadania / przekazywania wstępnych danych jest tutaj właściwe, czy też istnieje lepsza alternatywa? Widziałem mylnie wspomniany „activeItem”, ale szczegóły / użycie mnie przywodzą na myśl.

Aktualizacja 1: znalazłemJak udostępnić dane między widokami / Przekaż widok danych, aby wyświetlić, ale brak odpowiedzi w rzeczywistej implementacji. Naprawdę nie chciałbym udostępniać modelu widoku między rodzicem-dzieckiem (różne pary widok / viewmodel) i chciałbym użyć podejścia deklaratywnego (bez zdarzeń). Rodzic nie musi wiedzieć o dziecku, ale dziecko musi być karmione danymi od rodzica.

Aktualizacja 2: Chociaż powyżej sugerowałem, że wymagane jest tylko „id”, chciałbym zastosować podejście, które działakażdy obiekt podstawowy, do którego router niekoniecznie nadaje się. W tym przypadku głębokie łączenie nie jest problemem. Jeśli jednak czujesz, że router jestdroga aby się do tego zbliżyć, postaraj się odpowiedzieć na takie pytanie (ze szczegółami) jako odpowiedź, a ja przynajmniej podniosę głos.

questionAnswers(3)

yourAnswerToTheQuestion