javascript – 当某些字段发生变化时,流星不会重新渲染

当文档发生变化时,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
}
相关文章
相关标签/搜索