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

Detecting if template was re-rendered due to data context change

这是一个很常见的模式:

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

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

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

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

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