路由器只渲染某些模板

时间:2014-03-22 15:46:09

标签: meteor iron-router

我有2个容器的布局1)productView和2)calendarView。我的路由器配置如下:

this.route('productDetail', {
    layout: 'main',
    path: '/products/:_id',
    waitnOn: function(){...},
    data: function(){...},
    yieldTemplates: {
        'calendarView: { to: calendar }
    }
});

我现在想要在路线改变时(例如从'products / 1'到'products / 2')实现这一点,只重新渲染productView并且calendarView什么都不做。至于现在,每次调用'productDetail /:id'路由时,都会调用'calendarView'函数'Template.calendarView.rendered'并重新呈现模板。我的“主要”模板如下所示:

<template name="main">
    <div>
        {{yield}}
    </div>
    <div>
        {{yield 'calendar'}}
    </div>
</template>

layout schema

有没有办法告诉路由器只渲染某些模板?或者有更好的解决方案吗? 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您是否有理由将日历视图用于路由器? 我认为一种解决方案可能不是将路由器用于日历视图

<template name="main">
    <div>
        {{yield}}
    </div>
    <div>
        {{>calendar}}
    </div>
</template>