我有一个像这样的 Handlebars 模板:
<script type="text/x-handlebars" data-template-name="sections">
{{#each section in controller}}
{{#linkTo "section" section}} {{ section.label }} {{/linkTo}}
{{/each}}
</script>
一切正常。 我的模型对象如下所示:
App.Section = DS.Model.extend({
sectionDetail: DS.attr('number'),
label: DS.attr('string'),
cssClass: DS.attr('string')
});
我想在 "#linkTo"
帮助程序中使用 "cssClass"
属性。现在,如何(在句法上)完成?
我试过了,但这显然不起作用,因为使用 {{section.cssClass}}
不会呈现 section.cssClass
的值,而是呈现裸字符串“{{section.cssClass}}”
。
<script type="text/x-handlebars" data-template-name="sections">
{{#each section in controller}}
{{#linkTo "section" section class="{{section.cssClass}}"}} {{ section.label }} {{/linkTo}}
{{/each}}
</script>
我找不到行之有效的解决方案,有人可以在这里为我指明正确的方向,还是无法实现我想做的事情?我应该以不同的方式构建链接吗?
最佳答案
对于在这里绊倒的任何其他人,解决方案是使用 classNamesBindings
。
<script type="text/x-handlebars" data-template-name="sections">
{{#each section in controller}}
{{#linkTo "section" section classNameBindings="section.cssClass"}}
{{section.label }}
{{/linkTo}}
{{/each}}
</script>
关于javascript - #linkTo 帮助程序中的动态 CSS 类字符串(使用 ember.js 版本 pre4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14593752/