我有铁路由器和很简单的酒吧/分。流星出版物不工作
当发布只是返回一些特定的项目 - 一切工作正常。但是当它在内部执行某些逻辑时(循环通过另一个集合) - 它不起作用(Iron Router的加载模板会一直显示,并且看起来没有数据通过此发布中的DDP发布)。
酒馆代码:
Meteor.publish('ordersWithState', function(orderState) {
// if uncommented, this line works just fine
//return Orders.find({name:"C02336"});
var temp = Workflows.findOne({name:"CustomerOrder"});
if (temp) {
var stateUuid;
_.each(temp.state, function (state) {
if (state.name == orderState) {
return Orders.find({stateUuid: state.uuid});
}
});
}
});
路由器的配置(如果需要):
this.route('ordersList', {
path: '/orders/list/:orderState?',
loadingTemplate: 'loading',
waitOn: function() {
console.log("in ordersList waitOn");
var orderState = this.params.orderState || "Требуется закупка";
return [
Meteor.subscribe('ordersWithState', orderState),
Meteor.subscribe('allSuppliersSub'),
Meteor.subscribe('tempCol'),
Meteor.subscribe('workflows')
];
},
data: function() {
return Orders.find({});
},
onBeforeAction: function (pause) {
this.next();
}
});
你在服务器控制台上什么也没得到?它看起来像你的发布功能中的错误。 – Billybobbonnet
是的,Jeremy指出,pub函数的结构是错误的。 – Egor