当文档发生变化时,Meteor会呈现视图.
Template.story.data = function() {
var storyID = Session.get('storyID');
var story = Stories.findOne({
_id: storyID
})
if (!story)
return;
return story;
};
这是故事模板的模板助手,从故事文档中获取故事.
当story.title等字段发生变化时,我希望模板重新渲染.但是当story.viewingusers这样的字段改变时,我不想重新渲染模板.无论如何要做到这一点?
通过将发布功能设置为不发布这些字段来解决触发问题的特定问题.但是,该解决方案并不适用于每个用例,因此需要一般解决方案.
您正在寻找的是
#constant
模板助手.
我在你的情况下做的是将popover标记包装在一个常量块中,然后在story.rendered函数中手动更新该块中的内容.
所以像这样:
story.html:
<template name="story">
...
{{#constant}}
<!-- Popover markup here -->
{{/constant}}
...
</template>
client.js:
Template.story.rendered = function(){
//Update logic here
}