检测是否由于数据上下文更改而重新呈现模板

时间:2015-01-29 16:32:45

标签: meteor meteor-blaze autorun

这是一个非常常见的模式:

Template.myTemplate.rendered = function () {
  this.autorun(function () {
    var selector = {}; // should depend on the current data context
    MyCollection.find(selector).observe({
      // ...
    });
  });
}

一般来说,我希望selector值取决于当前数据上下文,这可能会发生变化,但我们都知道rendered例程不会再被调用,所以我不会#39甚至试图搞砸了。相反,我希望我可以通过反应性地访问当前数据上下文来使autorun内的计算无效,这似乎是很自然的事情。然而,它似乎没有在任何地方记录(或者我遗漏了一些东西)。

如果有人知道如何反应性地访问当前数据上下文,请分享。

1 个答案:

答案 0 :(得分:2)

Template.currentData()http://docs.meteor.com/#/full/template_currentdata

我认为它完全符合您的要求。