【发布时间】:2016-04-17 07:57:02
【问题描述】:
我想将所有用户发布到客户端(最终将只是所有用户的“个人资料”字段):
服务器上的发布是这样的:
Meteor.publish('users', function users() {
return Meteor.users.find();
});
在我的模板中,我有一个如下所示的订阅:
Template.Users_show_page.onCreated(function usersShowPageCreated() {
this.subscribe('users');
});
但是“用户”变量不可用,我仍然必须通过 Meteor.users 访问用户,例如在以下代码中:
Template.Users_show_page.helpers({
users() {
return Meteor.users.find();
}
});
这是为什么?
我认为我需要使用我选择的名称(即“用户”)创建一个客户端集合,然后我可以访问该集合。
我在哪里执行此操作以及如何与数据库中的用户进行同步?
【问题讨论】:
-
我不确定我是否理解您期望可用的内容。是什么让您认为这样的变量将可用?你能详细说明你预计会发生什么吗?
-
我希望在 users() 函数中我能够返回 users.find(),而不是 Meteor.users.find()
-
好吧,
users集合位于Meteor命名空间下,但您始终可以创建文件范围users变量。发布更新集合,它不会创建任何全局变量。无论如何,使用Meteor.users有什么问题? -
这是因为在我看来,我正在从服务器发布一个名为“用户”的字符串。在客户端上,我订阅了一个名为“users”的字符串。从逻辑上讲,我想通过字符串 'users' 访问该订阅
-
@MasterAM。没什么,只是没有意义。但感谢您的评论,我现在知道它不会创建我认为正在发生的全局变量
标签: meteor