我是Meteor的新手,我疯狂地试图让模板订阅工作。
即使Template.subscriptionsReady()返回true,我仍然得到"无法读取属性'找到'未定义"当试图找到()。获取集合。请关注相关的片段(如果我可以提供更多信息,请立即告诉我):
创建集合(lib / collections / jobs.js):
Jobs = new Mongo.Collection('jobs');
我的出版物(服务器)(server / publish.js):
Meteor.publish('jobs', function (userId) {
return Jobs.find({
$or: [
{
uIDHirer: this.userId
},
{
uIDProvider: this.userId
}
]
});
});
我的订阅(客户端)(client / templates / calendar / calendar.js):
Template.Calendar.onCreated(function () {
this.subscribe('jobs');
});
然后当我尝试搜索集合(客户端)(client / templates / calendar / calendar.js)时:
Template.Calendar.onRendered(function () {
this.autorun(() => {
if (Template.instance().subscriptionsReady()) {
let data = Jobs.find({}).fetch();
}
});
});
Template.subscriptionsReady在准备好后正确返回1,但仍无法搜索集合。我错过了什么?我认为当subscriptionReady我能够找到()。fetch()集合时。
提前致谢:)
答案 0 :(得分:0)
我设法通过删除
解决了这个问题import {
Jobs
} from '../../../lib/collections/jobs.js';
来自calendar.js文件的。不知道为什么,如果有人能帮我理解,我会感激不尽。
感谢@zim和@Jankapunkt的帮助!