首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流星重新应用集合变换

流星重新应用集合变换
EN

Stack Overflow用户
提问于 2013-03-21 00:28:00
回答 1查看 414关注 0票数 1

在Meteor的最新版本中,添加了转换功能。

示例用法:

代码语言:javascript
复制
var myCollection = new Meteor.Collection("mycollection",
{
    transform: function(doc){ 
        doc["newProperty"] = "test"; return doc; 
    })
}

有没有办法使这些转换被重新计算?

我在DOM中使用了一个时间人性化函数(MomentJS人道主义化),这实际上是对集合进行的唯一转换,所以每10秒重新应用它一次(大约15个条目)应该不会对性能造成太大影响。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-21 12:55:18

一种方法是将您的集合结果放入依赖性中。

客户端JS:

代码语言:javascript
复制
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()时,它的反应上下文无效,它刷新数据,从而再次调用转换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15537346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档