0

如果我的 Meteor 自动运行函数所依赖的游标本身是依赖的,那么 Meteor 会在每次最内层依赖发生变化时创建并保存一个新的计算吗?

如果一个自动运行函数在另一个函数上调用 Deps.autorun 怎么办?

Session.set('fooVal', 33);
myComputation = Deps.autorun(function() { 
  if (typeof(myComputation) !== 'undefined')
    myComputation.stop(); // Is this needed to prevent Computation accumulation?
  var foos = BarCollection.find({foo:Session.get('fooVal')}; 
  /* Do stuff with foos */
});
Session.set('fooVal', 33);
Session.set('fooVal', 34);
Session.set('fooVal', 35);
4

1 回答 1

0

Meteor 可以使用响应式数据作为 Collection 查询中的键或值。仔细阅读文档的反应部分。

自动运行函数可以嵌套而没有内存泄漏。如果内部自动运行块无效,则仅重新运行内部块。如果外部自动运行块无效,则两个自动运行块都将重新运行。

重要的是要了解:

  • Deps.autorun 创建并返回一个 Computation 对象。
  • Computation 对象跟踪函数所依赖的所有响应式数据源。
  • 当任何一个响应式数据源发生变化时,整个函数都会重新运行。
于 2013-04-01T06:18:31.847 回答