2016-10-15 11 views
0

Я использую meteor 1.4 для создания приложения назначения задачи в реальном времени. Я застрял в точке, когда хочу включить шаблон, передающий в аргумент вспомогательный шаблон шаблона для запуска.meteor spacebars запускает помощника, имя которого доступно в виде строки в контексте

Теперь, когда я передаю аргумент, он передается как строка, и я хочу вызвать этот помощник шаблона. Но я не могу найти способ в пространстве-барах, чтобы вызвать помощник шаблона, когда у меня есть вспомогательное имя, доступное как контекстная переменная типа string.

Пожалуйста, сообщите, возможно ли и если да, то как?

Заранее благодарен

Редактировать 1 - для.

<template name="parent"> 
    {{> children helperParameter="someHelper"}} 
</template> 

<template name="child"> 
    {{> child2 value=helperParameter }} 
</template> 

<template name="innerchild"> 
    {{value}} 
</template> 

Так в основном, я хочу, чтобы передать значение, возвращаемое someHelper к шаблону innerchild и я хочу, чтобы решить, какой помощник (в данном случае someHelper) для работы в ребенке, передавая имя этого помощника для шаблона ребенка из родительского шаблона.

Теперь я не могу запустить этот помощник в дочернем шаблоне, где у меня есть его имя в параметре helperParameter в виде строки.

+0

Можете ли вы предоставить код? –

+0

Вместо того, чтобы подбирать помощника по его имени (что невозможно в пробелах), у вас может быть помощник «заглушка», который смотрит на значение из вашего контекста и выбирает правильную реализацию на основе этого. Считаете ли вы, что это решит вашу проблему? –

+0

Можете ли вы привести пример кода? –

ответ

0

Пробег: Template.dynamic.

<template name="layout"> 
    {{> Template.dynamic template=template}} 
    <!-- This is equivalent to 
    {{> nameOfNeededTemplate}} 
    --> 
</template> 
Template.layout.helpers({ 
    template: function() { 
    return 'nameOfNeededTemplate'; 
    } 
});