Сказать, что у меня есть этот маршрут:Свойство данных IronRouter работает до waitOn?
Router.route('/order', {
template: 'order',
name: 'order',
layoutTemplate: 'layout',
waitOn: function(){
return Meteor.subscribe('orders');
},
data: function(){
return Orders.findOne()._id;
}
});
В папке сервера:
Meteor.publish('orders', function(){
return Orders.find();
});
На странице загрузки, я получаю cannot read property '_id' of undefined
, указывая на Orders.findOne()._id
Но я открыть Chrome консоль и сделать Orders.findOne()._id
и он сразу же появляется с идентификатором.
По какой-то причине data
запускается до того, как подписка в waitOn
готова? Я использую последний Iron Router.
Не могли бы вы поделиться своим изданием()? Кроме того, будет ли только один заказ или будет обрабатываться в публикации()? – smoksnes
Вы можете попробовать 'var data = Orders.findOne(); возвратите данные && data._id', пока не найдете фактический ответ, я думаю. – Kishor
@smoksnes, я добавил свое опубликование. Это всего лишь стандарт «публиковать все». В коллекции Заказов в настоящее время имеется множество заказов. – fuzzybabybunny