我有一个包含简单数组的变量,例如:
var terms = ["1 year", "2 years"]
我试图通过这样做将其传递给我的车把模板:
var template = Handlebars.compile( $('#template').html() );
$('div.container').append(template(terms)).append(template(data));
但我不知道如何访问模板中的terms
。我试过了:
{{#each terms}}
{{this}}
{{/each}}
我可以使用以下内容从ajax调用访问data
:
{{#each this}}
{{column_name}}
{{/each}}
但我对如何访问我追加的变量感到困惑。那么,是否有更简洁的方法将数据变量添加到上下文中?我是Handlebars的新手,这是我看到代码设置的唯一方法。感谢
答案 0 :(得分:0)
这是更多的胡子口味,但它应该解决你的问题:
<script id="tmp" type="text/x-template">
<div>
{{#terms}}
<p>
{{.}}
</p>
{{/terms}}
</div>
</script>
var data = {terms: ['1 year', '2 years']};
var template = document.getElementById("tmp").innerHTML;
var templateCompile = Handlebars.compile(template);
var result = templateCompile(data);
console.log(result) // <div><p>1 year</p><p>2 years</p></div>