有没有办法动态注入部分模板(并在Ruby和Javascript中以相同的方式工作)?基本上,我正在尝试在列表中呈现不同类型的对象。
我能想出的最好的是:
<div class="items">
{{#items}}
<div class="item">
{{#is_message}}
{{> message}}
{{/is_message}}
{{#is_picture}}
{{> picture}}
{{/is_picture}}
</div>
{{/items}}
</div>
我对这种方法并不十分兴奋。 还有更好的方法吗?
另请注意,视图的不同类型的模型可以具有不相似的字段。我想我总是可以去最低的公分母,并且数据哈希包含html,但是我宁愿使用胡子模板。
答案 0 :(得分:1)
我做了同样的事情,对于每个属性类型,我需要动态部分,我只是在js数据模型中设置一个动态变量,在模板中呈现...
eval("this.set({is_" + this.get("propertyType") + ": true})")
或
this["is_" + propertyType] = true
至少我不必手动设置'is_whatever'变量......
如果mustache.js或ICanHaz.js对胡须标签内部的动态属性有一些聪明的语法,那会很酷......可能是这样的:
{{>{{message}} }}