5

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更改之类的字段时,我不想重新呈现模板。无论如何要做到这一点?

通过将发布功能设置为不发布这些字段来解决触发问题的具体问题。但是,该解决方案不适用于每个用例,需要通用解决方案。

4

1 回答 1

3

您正在寻找的是#constant模板助手。

在您的情况下,我要做的是将弹出框标记包装在一个常量块中,然后在story.rendered函数中手动更新该块中的内容。

所以是这样的:

故事.html:

<template name="story">
    ...
    {{#constant}}
        <!-- Popover markup here -->
    {{/constant}}
    ...
</template>

客户端.js:

Template.story.rendered = function(){
    //Update logic here
}
于 2012-11-19T00:50:52.997 回答