在做下面的實現,我因爲它看起來像數據獲得的問題是無法在客戶端:使用中鐵路由器WaitOn依賴訂閱和使用它們的輔助功能
在鐵基的全局配置路由器,我訂閱「通知」發佈。 然後我獲取通知,並收集基於類型的元素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);
如何等待「嵌套」訂閱準備好在輔助函數中使用它們?