我有一个全球模板:
<template name="layout">
{{> header}}
{{> primaryNav}}
{{yield 'banner'}}
{{yield}}
{{> footer}}
{{> deleteConfirmModal }}
<span class="responsive-state"></span>
</template>
当我做路线时
@route 'blog',
path: '/blog/'
一切都很有用。我可以在我的标题链接和导航链接中来回点击,没有任何故障。但是,如果我添加数据上下文:
@route 'blog',
path: '/blog/'
data: ->
blogPosts: BlogPosts.find({}, {date: -1, time: -1})
在提供数据上下文时,每当我导航到远离提供数据上下文的路径时,布局模板中嵌套的所有模板都会重新渲染,从而导致由于样式类被擦除而产生的毛刺,然后更换。如果我路由到不需要(并且未提供)数据上下文的任何其他路径,则静态模板不会重新呈现。
在为特定路线提供数据上下文时,有没有办法阻止某些静态模板重新渲染?
答案 0 :(得分:2)
Meteor处于当前状态 - 你可能应该依赖渲染打破大多数东西。
至于铁路由器 - data
存储在ReactiveVar
中,它确保对data
的任何更改都会导致layoutTemplate
重新呈现(这可能是一种过于简化的解释。)
您可以: