【发布时间】:2023-03-20 11:15:01
【问题描述】:
在执行以下实现时,我遇到了问题,因为看起来数据在客户端不可用:
在 Iron-router 的全局配置中,我订阅了“通知”发布。 然后我获取通知,并根据类型收集元素的 ID。 然后我使用收集的 ID 订阅出版物。
在显示通知详细信息的模板中,我通过 Notifications.find() 循环通知,然后根据通知的类型,我这样做: Questions.findOne(_id) 或 Answers.findOne(_id) 在我尝试访问元素字段时遇到未定义的异常。
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
waitOn: function() {
Meteor.subscribe('notifications', function() {
var notifications = Notifications.find().fetch();
var questionsIds = _.map(_.filter(notifications, function (notif) {
return notif.targetObjectType == 'QUESTION';
}), function(q) { return q.targetObjectId});
var answersIds = _.map(_.filter(notifications, function (notif) {
return notif.targetObjectType == 'ANSWER';
}), function(q) { return q.targetObjectId});
Meteor.subscribe('notificationsAnswers', answersIds);
Meteor.subscribe('notificationsQuestions', questionsIds);
如何等待“嵌套”订阅准备好在辅助函数中使用它们?
【问题讨论】:
标签: mongodb meteor iron-router