Meteor Deps-运行客户端函数
我正在努力掌握Meteor deps,具体来说,我的用例是: 2) 更改集合时,我希望在客户端运行jQuery函数 我认为DEP是我正在寻找的,但目前我只使用了:Meteor Deps-运行客户端函数,meteor,Meteor,我正在努力掌握Meteor deps,具体来说,我的用例是: 2) 更改集合时,我希望在客户端运行jQuery函数 我认为DEP是我正在寻找的,但目前我只使用了: Template.templateName.set () -> return Set.find({}) …在反应性方面 一个解决方案,只要在每次更改集合时对其进行console.log操作就足够了 当然可以使用上下文做你想做的事情。这比[1]要复杂一点,但是如果您遵循文档中的deps示例,您可以很容易地做您想要做的事情。差不
Template.templateName.set () ->
return Set.find({})
…在反应性方面
一个解决方案,只要在每次更改集合时对其进行console.log操作就足够了 当然可以使用上下文做你想做的事情。这比[1]要复杂一点,但是如果您遵循文档中的deps示例,您可以很容易地做您想要做的事情。差不多
var setup = function() {
var context = new Meteor.deps.Context();
context.on_invalidate(function() {
setup();
});
context.run(function() {
Set.find({});
console.log('changed');
});
}
setup();
或者,您可以制作一个不返回任何内容的帮助器,以利用将为您设置的上下文:
Template.templateName.do_nothing ->
console.log 'changed'
Set.find({})
null
尽管这将迫使HTML在您可能不希望刷新时刷新
另一方面,您可能只需要收集
[1] 如果/当他们合并时,您可以执行以下操作:
Meteor.deps.await(function() { return Set.find(); }, function() {
console.log('changed');
});
如果您想了解更多信息,可以查看await
函数的源代码。我没有想到返回null的模板。我让它工作了,干杯。尽管如此,上下文确实是这样做的正确方式吗?是的,我认为上下文确实是这样做的正确方式。使用一个“假”助手对我来说就像是一种恶作剧。有了deps扩展插件,使用上下文就明显简单多了,希望我们可以在所有地方进行反应式编码。