如何在Meteor中向客户端公开CSV数据?

时间:2016-04-05 17:45:22

标签: meteor

我只是在学习Meteor,而且我正在摆弄一些非常简单的东西来理解框架是如何工作的。我加载了一个CSV文件,其中包含我要在客户端的SelectBox中使用的国家/地区名称/国家/地区ID。

我安装了婴儿解析器

meteor add harrison:babyparse

然后我用

Meteor.startup(function() {
  parsed = Baby.parse(Assets.getText('geo.csv'));
  Countries = parsed.data;
});

如何将国家/地区数据公开给客户?

1 个答案:

答案 0 :(得分:3)

看起来你最好用国家数据填充Mongo集合。

如果您真的只想从客户端访问服务器方法,可以在启动时从客户端调用meteor方法,并将其结果设置为会话变量。例如:

if(Meteor.isClient){
  Meteor.call('getCountryData', function(err, res){
    if (res){
      Session.set('CountryData', res)
    }
  });
}

if (Meteor.isServer){
  Meteor.methods({
    'getCountryData':function(){
      parsed = Baby.parse(Assets.getText('geo.csv'));
      Countries = parsed.data;
      return Countries;
    }
  });
}

然后在客户端上的任何需要使用Session.get("CountryData")

同样,强烈建议在数据库中填充集合,然后将数据发布/订阅到客户端而不是此方法。这是关于Meo的MongoDB基础知识的一个很好的入门读物:http://meteortips.com/first-meteor-tutorial/databases-part-1/。第11章(发布和订阅)是您在理解基础知识后要查看的内容。