2015-04-17 2 views
1

Я хочу, чтобы шаблон макета был динамическим. Значение шаблона макета будет выбрано на сервере с помощью Meteor.call 'getLayoutTemplate'. Где я должен поставить Meteor.call? И он должен подождать, пока не выберет значение Meteor.call. Есть идеи?Meteor JS: шаблон динамического шаблона

Router.configure 
    layoutTemplate: ???? 
    notFoundTemplate: 'notFound' 
+0

Моя первая идея была бы, чтобы поместить его в сессии-Variable. –

+0

@ DanielBudick Это хорошая идея. Но где я должен поставить Meteor.call? потому что значение этой переменной сеанса будет поступать с сервера (Meteor.call) –

ответ

0

Я бы поставил вызов метода в onAfterAction крючке, а затем установить layoutTemplate в зависимости от результата в вызове:

Router.route('/route', { 
    name: 'route', 
    onAfterAction: function() { 
    var routerInstance = this; 
    Meteor.call('method', function(error, result) { 
     routerInstance.layoutTemplate = result; 
    }); 
    } 
}); 
+0

Я попробовал ваше предложение, но onAfterAction увольняется –

+0

Я просто попробовал его в существующем проекте, и он работает. У вас есть сообщение об ошибке в консоли? – Guillaume

+0

Я сделал gist https://gist.github.com/ccfiel/6e73182113224118cdba. Ошибка в консоли. Есть идеи? –