Предположим, что у меня есть массив объектов виджетов на моем контроллере, и каждый объект виджета имеет переменную-член, которой назначено имя класса компонента. Как я могу заставить свой шаблон вызывать этот компонент?
//widgets[0].widget.componentClass="blog-post"
{{#each widget in widgets}}
{{widget.componentClass}}
{{/each}}
Очевидно, что приведенный выше пример просто выплескивает ряд строковых версий классов компонентов виджета. Это, однако, работает (пока вы все правильно настроили):
//widgets[0].widgets.viewClass="blogPost"
{{#each widget in widgets}}
{{view widget.viewClass}}
{{/each}
Это была наша предыдущая реализация, но мы были недовольны этим. В настоящее время мы используем специальный тег {{renderWidget...}} с помощником handlebars, как описано здесь: Вызов Handlebars {{render}} с именем переменной. У вспомогательного помощника по умолчанию есть аналогичная проблема, где он не будет вызывать рендеринг в содержимом имени переменной. Я бы хотел написать специальный помощник handbars компонента, но я даже не могу понять, с чего начать. Спасибо.