Изобразяване на композицията на Дюрандал

Опитвам се да репликирам SPA приложение от сайта на John Papa. Заседнал съм в композирането на изгледи с помощта на Durandal.

Моят код за началния изглед е по-долу. Имам само едно основно ниво, както се изисква от Durandal, така че не съм сигурен защо двата ми изгледа за композиране не се показват. Ако премахна <h2> data-bind, тогава всичко на света е страхотно. Всяка помощ или прозрения ще бъдат много оценени.

<section> 
    <div id="intro">
        <h2 data-bind="html: displayName"></h2>
        <blockquote class="text-left">
            The electronic Cognitive Preference Estimator (e-CPE) provides insight into your preferred approach to problem solving and change management. 
            It takes just a few minutes to register and less than five minutes to complete the instrument.<br />
        </blockquote>
    </div>
<section  style="clear: both;" data-bind="compose: { view: 'bio' }"></section>
<footer data-bind="compose: { view: 'footer' }"></footer>
</section>

person JAntMan    schedule 22.09.2013    source източник
comment
Какво всъщност се опитвате да направите? Да съставите два отделни изгледа, които имат модели на изглед зад себе си? Изгледите показват ли се, когато премахнете маркера h2, или какво имате предвид под всичко е страхотно в света? Също така, можете ли да покажете кода на вашите изглед модели? И ако вече имате руут и сте вложени в тялото, защо поставяте таг за долен колонтитул там?   -  person PW Kad    schedule 22.09.2013
comment
Не бях ясен в първия си пост. Показвам няколко раздела на началния си екран, като долен колонтитул, раздел с биографии и страница за контакти. За да запазя кода на началния екран по-лесен за четене и управление, разделих кода на отделни изгледи и сега се опитвам да ги обединя отново с помощта на обвързването за съставяне. Горният код работи, когато няма допълнително обвързване. Въпреки това, когато добавя обвързване, което не е обвързване за композиране, моята композиция на изглед не се показва. Изгледите, които се опитвам да съставя, нямат асоциирани модели на изгледи, но има ли разлика в обвързването, ако има?   -  person JAntMan    schedule 22.09.2013


Отговори (1)


Когато показвате прости изгледи от вашия HTML, трябва да можете да използвате модула за съставяне, за да го направите. Ако някой от вашите подизгледи има грешка при обвързване, той ще спре изобразяването на допълнителните изгледи и техните обвързвания, но трябва да видите това във вашата конзола.

FYI, когато просто показвам изглед, който е обвързан с текущия контекст, го правя така -

<!-- ko compose: 'shell/navbar.html' --><!-- /ko -->

Където shell е папка в моята папка с изгледи, а navbar.html съдържа моята навигационна лента.

Друго нещо, което трябва да се уверите е, че вашият модел на изглед shell.js излага свойство displayName, което има семантично правилен HTML, ако има такъв. Също така проверете отново дали биографията и долният колонтитул не хвърлят обвързващи грешки.

person PW Kad    schedule 22.09.2013