我只是在学习Meteor,而且我正在摆弄一些非常简单的东西来理解框架是如何工作的。我加载了一个CSV文件,其中包含我要在客户端的SelectBox中使用的国家/地区名称/国家/地区ID。
我安装了婴儿解析器
meteor add harrison:babyparse
然后我用
Meteor.startup(function() {
parsed = Baby.parse(Assets.getText('geo.csv'));
Countries = parsed.data;
});
如何将国家/地区数据公开给客户?
答案 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章(发布和订阅)是您在理解基础知识后要查看的内容。