Маршрутизатор Durandal Child не находит представления

Прежде чем я перейду к этой проблеме, вот обзор структуры моего проекта.

-- Common
    --services
    --views
    --viewmodels
 -- Product1
    --services
    --views
        -- mywork
            -- overview.html
            -- sections
                -- audit.html
                -- completed.html
                -- attention.html
                -- index.html
    --viewmodels
        -- mywork
            -- overview.js
            -- sections
                -- audit.js
                -- completed.js
                -- attention.js
                -- index.js

Теперь я создал раздел в Product1 под названием mywork, который содержит дочерний маршрутизатор. Основной маршрут в shell.js задается с помощью знака.

{ route: 'myWork*details', moduleId: 'product1/viewmodels/myWork/overview', title: 'My Work' }

Затем создается дочерний маршрут как

var childRouter = router.createChildRouter()
            .makeRelative({ moduleId: 'product1/viewmodels/mywork/sections', fromParent: true })
            .map([
                { route: [''], moduleId: 'index', title: 'Overview', icon: 'fa-cogs', nav: false },
                { route: 'audits', moduleId: 'audits', title: 'Audits', icon: 'fa-list', nav: true },
                { route: 'completed', moduleId: 'completed', title: 'Tracked Records', icon: 'fa-list', nav: true },
                { route: 'attention', moduleId: 'attention', title: 'Requires Attention', icon: 'fa-list', nav: true }
            ]).buildNavigationModel();

Основная проблема в том, что при доступе к любой из страниц через панель навигации мне выдается ошибка...

View Not Found. Searched for "product1/views/mywork/sections/audits" via path "text!product1/views/mywork/sections/audits.html".

Тем не менее, представление для обзорной страницы отлично работает, определяемое маршрутом ['']. Любые идеи относительно того, почему мои другие взгляды не найдены, даже если модели просмотра и что такое текст! перед путем в ошибке?


person Scott Alexander    schedule 20.09.2016    source источник


Ответы (1)


Обратите внимание: для дочерних маршрутов требуется как минимум тег <div></div> в html-файлах, который, как я полагаю, связан с назначением идентификатора определенного типа, иначе представление не будет найдено дочерним маршрутизатором.

person Scott Alexander    schedule 20.09.2016