Одна из проблем использования нового и находящегося в стадии разработки фреймворка заключается в том, что советы, которые вы найдете в Интернете, часто устарели. Это вдвойне относится к Meteor, где ответы SO и веб-статьи часто относятся к версии до 1.0.x или ранней версии 1.0.x, или к предыдущей версии iron-router, или до того, как они представили функцию на прошлой неделе, и так далее. .
Все еще ломаю голову над тем, как использовать функцию subscribesReady() в контексте ожидания шаблона, пока подписки не будут готовы для него. Мне это определенно нужно, так как мой шаблон пытается отобразиться без своих данных примерно в 3/4 случаев.
Как использовать подпискиReady()? Я видел примеры, которые используют его в html, который я считаю глупым (нечеткое представление и функция). Как использовать его в кодовой части шаблона?
Он используется в железе-роутере с каким-то waitOn? Должен ли я обернуть его циклом while в моем средстве визуализации шаблонов? Можете ли вы привести упрощенный пример?
Обязательный код... Мой маршрут для моего шаблона:
Router.route('/', {
path: '/',
template: 'navmenu',
onBeforeAction: function() {
this.next();
}
});
Мои подписки:
// Chapters
ChapterCollection = new Mongo.Collection("ChapterCollection");
if(Meteor.isClient){
Meteor.subscribe('users');
Meteor.subscribe('roles');
Meteor.subscribe('ChapterCollection');
}
Часть html довольно проста, часть HTML заключена в тег шаблона.
Код моего шаблона:
Template.navmenu.rendered = function() {
// Load all chapters from collections
// Unless it decides to delay and then we are *%&@ed
chapterArray = ChapterCollection.find().fetch();
... other stuff ...
}
Спасибо за помощь.