如何处理Meteor中的客户端对象?

时间:2013-10-19 14:02:10

标签: javascript meteor leaflet

我有一个小项目(housescrap)。在这个项目中,想法如下:

  • 数据库服务器端向客户提供房屋详细信息
  • 用户首选项保存在他们选择的数据存储中的房屋NimbusBase
  • 数据集的本地表示,它混合使用并处理LeafLet标记变量。

小演示是使用服务器端的csv和客户端的数组。

我现在正在研究real implementation。我选择流星这样做。我发现订阅方案很方便(如果用户移动地图,我更新订阅,用户收到增量。)(也许这个选择错了,请告诉我)

我现在的问题是,如何使用方法(如添加,删除)和对象属性(如LeafLet标记)构建一类房屋,这些属性是流星集合和流星框架内的其他数据的混合?如果不可能,你会推荐什么?

非常感谢你的帮助!

PS:我对网络开发很陌生,对rails开发有一点经验,所以,对于基本概念的误解感到遗憾。

1 个答案:

答案 0 :(得分:1)

事实上,问题在于如何扩展Meteor Collection文档,而question已经回答了我的疑问。

在代码方面,它看起来像这样:

House = function (document) {
  _.extend(this, document);
};

_.extend(House.prototype, {
  addToMap: function () {
    console.log("added!");
  }
});

Houses = new Meteor.Collection("houses",{
    transform: function (document) {
      return new House(document);
    }
  }
);

在流星的文档中,变换部分为here

有一个很好的video解释了这个想法。