我们说我有一些html
字段的模型。该字段包含一些句柄代码。例如
<div class="foo">
{{model.title}}
</div>
问题是,当我尝试迭代模型并渲染html
字段时,它不会评估其中的把手代码。
{{#each models as |model|}}
{{{model.html}}}
{{/each}}
答案 0 :(得分:0)
这是一个想法,创建一个Handlebars助手,它将编译把手。
通过这个样本,我相信你可以构建一些适合你需求的东西:
<script type="text/javascript" src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars.min-latest.js"></script>
<script>
var data = [{
"title": "Hey",
"subtitle": "I'm an inner handlebar template.",
"html": '<h1>{{title}}</h1><h2>{{subtitle}}</h2>'
}, {
"title": "Nice!",
"html": '<h1>{{title}}</h1>'
}];
/** Handlebar helper that will compile the content passed, with the data at index **/
Handlebars.registerHelper("compile", function(content, index) {
var template = Handlebars.compile(content);
return template(data[index]);
});
var content = '{{#each .}}\
{{{compile html @index}}}\
{{/each}}';
var template = Handlebars.compile(content);
document.body.innerHTML = template(data);
</script>
&#13;
我从未使用过ember,但我相信你可以轻松使用它;)