在Meteor的最新版本中,添加了转换功能。
示例用法:
var myCollection = new Meteor.Collection("mycollection",
{
transform: function(doc){
doc["newProperty"] = "test"; return doc;
})
}有没有办法使这些转换被重新计算?
我在DOM中使用了一个时间人性化函数(MomentJS人道主义化),这实际上是对集合进行的唯一转换,所以每10秒重新应用它一次(大约15个条目)应该不会对性能造成太大影响。
发布于 2013-03-21 12:55:18
一种方法是将您的集合结果放入依赖性中。
客户端JS:
var times = [];
var timesDeps = new Deps.Dependency;
var getTimes = function () {
Deps.depend(timesDeps);
return myCollection.find(); //Your Query
};
Template.home.times = function() {
return getTimes();
}
Meteor.setInterval(function() {
timesDeps.changed();
}, 10000) //Recalculate ever 10000 ms因此,要做的是使用getTimes()调用集合,当您调用timesDeps.changed()时,它的反应上下文无效,它刷新数据,从而再次调用转换。
https://stackoverflow.com/questions/15537346
复制相似问题