javascript - 从 meteor 服务器获取单个值到客户端

标签 javascript meteor iron-router

我有一个setup 路线,第一个用户在其中创建他的帐户。如果他已经有一个帐户,他必须被重定向到 index 路由。

在服务器端我会这样做:

if(Meteor.users.find().count > 0){
  //do stuff
}

用户集合未发布到客户端。我怎样才能从服务器返回一个简单的 true/false 到路由定义?我尝试使用 Meteor.call('hasUser' function(result){ 控制台日志(结果); });

但由于调用在客户端是异步的,所以我的结果总是“未定义”

最佳答案

这已经被询问和回答了here , 但是您也可以使用 publish-counts 来做到这一点包裹:

$ meteor add tmeasday:publish-counts

服务器

Meteor.publish('userCount', function() {
  Counts.publish(this, 'userCount', Meteor.users.find());
});

客户端

Meteor.subscribe('userCount');
...
Counts.get('userCount');

此外,它还带有如下帮助器:

<p>There are {{getPublishedCount 'userCount'}} users</p>

关于javascript - 从 meteor 服务器获取单个值到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569860/

相关文章:

javascript - Karma 不适用于 ES6

javascript - AJAX 中的 event.target

routes - 在哪里为 Meteor 应用程序放置单独的管理界面?

javascript - 铁路由器: Don't re-render page if wait on changes

javascript - 铁路由器与流路由器

javascript - 当路由不存在时,iron-router 渲染 notFound 模板

javascript - Windows.location 文件下载

javascript - 关于计算数组索引和重复引用特定数组值的效率的问题

meteor - 使用 Meteor 模拟服务器端渲染

javascript - 如何将所有 Meteor Mongo 集合名称检索为 Javascript 数组?