Javascript 如何在HTML中显示此代码?

Javascript 如何在HTML中显示此代码?,javascript,html,count,meteor,Javascript,Html,Count,Meteor,我正试图做一个标记,表明目前有多少用户同时在我的网站上使用我的Meteor应用程序的Javascript,我不知道这是否有区别。我有以下代码用于跟踪一次站点上有多少用户: Presences.find({online: true}).count(); 但是我如何用HTML在我的网站上显示它呢?我认为流星的组织方式会让事情变得更加困难 哦,我还应该提到,我在这个项目中安装了iron路由器包,所以模板有点不同。这可能会影响代码?简单但不是有效的解决方案: PresenceTemplate.js:

我正试图做一个标记,表明目前有多少用户同时在我的网站上使用我的Meteor应用程序的Javascript,我不知道这是否有区别。我有以下代码用于跟踪一次站点上有多少用户:

Presences.find({online: true}).count();
但是我如何用HTML在我的网站上显示它呢?我认为流星的组织方式会让事情变得更加困难

哦,我还应该提到,我在这个项目中安装了iron路由器包,所以模板有点不同。这可能会影响代码?

简单但不是有效的解决方案: PresenceTemplate.js:

Template.PresenceTemplate.helpers({
    userCounts:function(){
        return Presences.find({online: true}).count();
    }
})
PresenceTemplate.html:

<template name="PresenceTemplate">
   {{userCounts}}
</template>
简单但不高效的解决方案: PresenceTemplate.js:

Template.PresenceTemplate.helpers({
    userCounts:function(){
        return Presences.find({online: true}).count();
    }
})
PresenceTemplate.html:

<template name="PresenceTemplate">
   {{userCounts}}
</template>

这有点棘手,您需要自定义发布函数和客户端userCount上的虚拟集合

这只会发布联机用户数的计数,并在使用Observer查询进行更改时对其进行更改

这样,您就不必发布在线用户的所有文档:因此,当您有更多用户时,您的客户机也不会慢很多

服务器端代码

var userCount = new Meteor.Collection("userCount");

Meteor.subscribe("userCount");
客户端代码

var userCount = new Meteor.Collection("userCount");

Meteor.subscribe("userCount");
HTML示例

<template name="example">
{{userCount}}
</template>

这有点棘手,您需要自定义发布函数和客户端userCount上的虚拟集合

这只会发布联机用户数的计数,并在使用Observer查询进行更改时对其进行更改

这样,您就不必发布在线用户的所有文档:因此,当您有更多用户时,您的客户机也不会慢很多

服务器端代码

var userCount = new Meteor.Collection("userCount");

Meteor.subscribe("userCount");
客户端代码

var userCount = new Meteor.Collection("userCount");

Meteor.subscribe("userCount");
HTML示例

<template name="example">
{{userCount}}
</template>

它可以正常工作,但无论有多少用户登录,计数都保持在0。你知道这是为什么吗?看起来这个方法比下面使用template helper的方法更有效,因为在这段代码中,服务器不是一直在线统计用户,而是从总数中加或减,对吗?@5AMWE5T我很快更正了代码,只是在| |附近的一个小错误。@fabio在两个方面更有效。只有数字会被发送到客户端,因此如果有50个用户,则不必发送50个文档;其次,当用户的其他数据发生更改时,它不必发送关于这50个文档中每个文档的信息发生了更改的信息。所以开销是远远的less@Akshat谢谢如果有人在理解阿克沙的答案方面有问题,那么看看它是否有效,但无论有多少用户登录,计数都保持在0。你知道这是为什么吗?看起来这个方法比下面使用template helper的方法更有效,因为在这段代码中,服务器不是一直在线统计用户,而是从总数中加或减,对吗?@5AMWE5T我很快更正了代码,只是在| |附近的一个小错误。@fabio在两个方面更有效。只有数字会被发送到客户端,因此如果有50个用户,则不必发送50个文档;其次,当用户的其他数据发生更改时,它不必发送关于这50个文档中每个文档的信息发生了更改的信息。所以开销是远远的less@Akshat谢谢如果有人在理解阿克沙的答案方面有问题,那么看看