Partialjs - получить модель для рендеринга в _layout.html

0

У меня проблема при получении модели в _layout.html

В default.js у меня есть такая модель

exports.install = function(framework) {
    framework.route('/', index);
};
function index(){
    var model = {menu: {url:'/product',name:'Product'}};
    self.view('index', model);
}

в index.html, я могу получить model.menu

<ul class="menu_index">
     <!-- I can see model.menu here -->
     <li><a href="{model.menu.url}">{model.menu.name}</a></li>
</ul>

но в _layout.htmt, я не могу

<head></head>
<body>
    <ul class="menu_layout">
        <!-- But I can't see model.menu here -->
    <li><a href="{model.menu.url}">{model.menu.name}</a></li>
    </ul>
    <div>@{body}</div>
</body>

Любое предложение? благодаря

Теги:
layout
partial

1 ответ

0

Потому что модель предназначена для текущего вида, а не для макета. Вы должны использовать объект репозитория.

контроллер:

function index() {
   var self = this;
   self.repository.menu = { url:'/product', name: 'Product' };
   self.view('index');
}

индекс:

<ul class="menu_index">
     <li><a href="{repository.menu.url}">{repository.menu.name}</a></li>
</ul>

расположение:

<head></head>
<body>
    <ul class="menu_layout">
    <li><a href="{repository.menu.url}">{repository.menu.name}</a></li>
    </ul>
    <div>@{body}</div>
</body>

Благодаря :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню