tôi nâng cấp lên Sao băng 1.0, cài đặt các gói sắt-router mới nhất, cố gắng để chạy ứng dụng của tôi và nhận được cảnh báo đẹp này trong giao diện điều khiển đăng nhập của tôi:Hoàn toàn bối rối về this.next() trong Meteor sắt-router
Công văn tuyến đường không bao giờ được hiển thị. Bạn đã quên gọi this.next() trong một onBeforeAction?
Vì vậy, tôi đã cố gắng sửa đổi tuyến đường của mình theo phiên bản mới.
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)]}
});
Làm cách nào để khắc phục sự cố này? Bất kỳ trợ giúp nào sẽ được đánh giá cao.
Cảm ơn bạn! Điều đó hoạt động! Tôi có cần 3 x 'this.next()' hoặc chỉ một lần ở cuối hàm? – user3475602
Bạn có thể không cần nó cho 'if' đầu tiên. Hãy thử và báo cáo lại. – benstr
Điều này làm việc cho tôi: 'if (singlePlayer) { nếu (singlePlayer.upgrade) { this.subscribe ('updates', this.params.slug) .wait(); } } this.next(); ' Bạn có thể giải thích nơi tôi nên đặt' this.next() 'nói chung không? Phương pháp thử và lỗi là một chút bực bội. – user3475602