я повышен до Meteor 1.0, установлен последний пакет железа маршрутизатора, попытался запустить мое приложение и получил это хорошее предупреждение в моем журнале консоли:Полностью запутались this.next() в метеорном железе маршрутизатора
Отправка маршрута никогда не отображается. Вы забыли позвонить в это .next() в a onBeforeAction?
Поэтому я попытался изменить свои маршруты в соответствии с новой версией.
this.route('gamePage', {
path: '/game/:slug/',
onBeforeAction: [function() {
this.subscribe('singlePlayer', this.params.slug).wait();
var singlePlayer = this.data();
if (singlePlayer) {
if (singlePlayer.upgrade) {
this.subscribe('upgrades', this.params.slug).wait();
this.next();
}
this.next();
}
this.next();
}],
data: function() {
return Games.findOne({slug: this.params.slug});
},
waitOn: function() { return [Meteor.subscribe('singleGame', this.params.slug)]}
});
Как это исправить? Любая помощь будет принята с благодарностью.
Спасибо! Это работает! Нужно ли мне 3 x 'this.next()' или один раз в конце функции? – user3475602
Возможно, это не понадобится для первого 'if'. Попробуйте и сообщите об этом. – benstr
Это сработало для меня: 'if (singlePlayer) { if (singlePlayer.upgrade) { this.subscribe ('upgradees', this.params.slug) .wait(); } } this.next(); ' Не могли бы вы объяснить, где я должен поместить' this.next() 'вообще? Метод проб и ошибок немного расстраивает. – user3475602