Започнах да използвам (от преди няколко часа) Durandal с надеждата да управлявам изгледи и да позволя композиция в рамките на един страница - предишният подход, също използващ Knockout, ставаше твърде тромав за поддържане в дебел HTML файл.
Инсталирах/настроих Durandal и мога да създавам изгледи и изгледи - обаче, не знам как да вкарам данни в изгледа, за да ги използвам като основа за нов изгледмодел.
Например, имам „лява лента за навигация“ за избиране на елементи – когато е избран елемент, той актуализира „избран елемент“, наблюдаван в текущия модел, но трябва също така да зареди правилния „подробен изглед " вдясно: тъй като част от причината да опитате Durandal да раздели компонентите/изгледите, това трябва да дойде от отделен изглед/модел на изглед.
Прочетох документацията, включително Композиция и Използване на композиция, но методът за как да се предават данни към модела на изглед не ми е ясен. Изглежда, че мога да използвам изглед със съществуващ модел (в текущия изглед/обхват), но наистина бих искал просто да използвам някои от текущите данни на модела (т.е. идентификатор), за да извлека „истинските“ данни на модела в гледката.
И така, моите въпроси;
Как се обработва предаването на първоначални данни, като например "избран елемент" към модел на изглед? Бих предпочел да използвам декларативното обвързване "compose:", тъй като това прави KO .. KO.
Дали това понятие за наличие/предаване на първоначални данни е правилният начин тук или има по-добра алтернатива? Виждал съм бегло споменаване на „activeItem“, но подробностите/използването ме намеква.
Актуализация 1: Намерих Как да споделяме данните между изгледи/Пас изгледът на данни за преглед, но отговорите липсват в реално изпълнение. Наистина бих искал да не споделям модела на изглед между родител-дете (различни двойки изглед/модел на изглед) и бих искал да използвам декларативен подход (без събития). Не е нужно родителят да знае за детето, но детето трябва да получи данни от родителя.
Актуализация 2: Въпреки че по-горе намекнах, че се изисква само „id“, бих искал подход, който работи с всеки основен обект, за който рутерът не е непременно подходящ. Дълбоките връзки не са проблем в този случай. Въпреки това, ако смятате, че рутерът е начинът да се подходи към това, публикувайте аргумент за такъв (с подробности) като отговор и аз поне ще го подкрепя.