я повторно использую тот же шаблон в другом маршруте с другим аргументом данных, но используя ту же публикацию...
если я делаю обычный pub/sub, данные публикуются, как и ожидалось. но когда я делаю условную публикацию/подписку, как показано ниже, я не могу подписаться на данные. журнал консоли возвращает пустой массив,,,
сервер/publication.js
Meteor.publish('ACStats', function(cId, uId) {
var selectors = {cId:cId, uId:uId};
var options = {
fields: {qId:0}
};
return ACStats.find(selectors,options);
});
клиент/при создании
Template.channelList.onCreated(function() {
this.disable = new ReactiveVar('');
if (FlowRouter.getRouteName() === 'profile') {
var self = this;
self.autorun(function() {
var penName = FlowRouter.getParam('penName');
var u = Meteor.users.findOne({slugName:penName});
if (u) {var uId = u._id;}
Meteor.subscribe('ACStats', null, uId);
});
} else{
var self = this;
self.autorun(function() {
var channelName = FlowRouter.getParam('channel');
var c = Channels.findOne({title:channelName});
if (c) {var cId = c._id;}
Meteor.subscribe('ACStats', cId, null);
});
}
});
консоль
ACStats.find().fetch() //return empty array
кто-нибудь понял мою ошибку ..??
Огромное спасибо....
Meteor.users
илиChannels
не дали результатов. (2) В вашихACStats
документахcId
илиuId
отсутствует вместо того, чтобы быть определено какnull
. - person Michel Floyd   schedule 05.12.2015