2015-01-08 3 views
0

Я использую железо: маршрутизатор подписки крюк, чтобы загрузить необходимые данные на каждой странице приложения meteor.js (используя менеджер подписки):коллекции Метеор загрузки в фоновом режиме

subscriptions: function() { 
    return subman.subscribe("ElementsCurrentLang", Session.get('currentLang'), ['home']); 
} 

Я хотел бы также загружать другие подписки (не все они нужны на текущей странице, но, возможно, часть из них необходима на текущей странице) в фоновом режиме; Я попытался вставить

globalSubs = {}; 
Meteor.subscribe("elementsCurrentLang", Session.get('currentLang'), function() { 
    globalSubs.globalElements = true; 
}); 
Meteor.subscribe("municipalitiesGlobal", Session.get('currentLang'), function() { 
    globalSubs.globalMunicipalities = true; 
}); 
Meteor.subscribe("culturalGoodsGlobal", Session.get('currentLang'), function() { 
    globalSubs.globalCulturalGoods = true; 
}); 

в отдельном subscriptions.js файла и добавил тест, как следующее, чтобы избежать повторной индексации уже загруженному подписок:

subscriptions: function() { 
    if (!globalSubs.globalElements) return subman.subscribe("neededElementsCurrentLang", Session.get('currentLang'), ['progetto']); 
}, 

, но это не работать, поскольку глобальные подписки загружаются до подписки на страницу, а не в фоновом режиме;

можно загрузить 3 глобальных подписки в фоновом режиме, не дожидаясь приложения, ожидающего их загрузки (он должен ждать только подписку на текущий маршрут)?

ответ

0
Router.configure({ 
    layoutTemplate: 'layout', 
    waitOn: function(){ 
    return [Meteor.subscribe('posts'),Meteor.subscribe('colors'),Meteor.subscribe('ads')];}, 
    yieldTemplates:{ 
    'header': {to: 'header'}, 
    'menu': {to: 'menu'}, 
    'footer': {to:'footer'} 
    } 
}); 

как об этом.

+0

он будет загружен, все три субмастера на маршруте – zevsuld

+0

это загрузит три подписки перед чем-либо еще –

Смежные вопросы