有没有办法将变量上下文传递给{{render}}
helper?
例如,我的模型具有多态关系,我想为每种不同类型呈现适当的视图(无需编写一整串if
声明。
my events
模板看起来像这样:
<ul>
{{#each event in model}}
<li>
{{event.time}} {{render event.type event.eventable}}
</li>
{{/each}}
</ul>
the event.type
是一个字符串并且设置为song
。如果我使用{{render 'song' event.eventable}}
一切都很好。但传递变量字符串'song'
什么也不产生。
这可以做到吗?
您可以通过编写自己的 Handlebars Helper 来实现此目的,该 Helper 确定要渲染的模板,然后委托给构建的渲染助手。尝试这个:
Ember.Handlebars.registerBoundHelper('renderEvent', function(callingContext, event, options) {
return Ember.Handlebars.helpers.render.call(callingContext, event.get('type'), 'eventable', options);
});
然后在您的模板中,您将按如下方式调用该模板:
{{#each event in model}}
{{renderEvent this event}}
((/each}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)