Javascript 如何使用传递到模板的把手数组

Javascript 如何使用传递到模板的把手数组,javascript,jquery,arrays,json,handlebars.js,Javascript,Jquery,Arrays,Json,Handlebars.js,我有一个包含简单数组的变量,例如: var terms = ["1 year", "2 years"] 我正试图通过以下方式将其传递到我的把手模板: var template = Handlebars.compile( $('#template').html() ); $('div.container').append(template(terms)).append(template(data)); 但是我不知道如何访问我的模板中的术语。我试过: {{#each terms}}

我有一个包含简单数组的变量,例如:

var terms = ["1 year", "2 years"]
我正试图通过以下方式将其传递到我的把手模板:

var template = Handlebars.compile( $('#template').html() );

$('div.container').append(template(terms)).append(template(data));
但是我不知道如何访问我的模板中的
术语。我试过:

{{#each terms}}
     {{this}}
{{/each}}
我可以通过ajax调用访问
数据
,方法如下:

 {{#each this}}
     {{column_name}}
{{/each}}

但是我对如何访问我附加的变量感到困惑。顺便问一下,有没有更干净的方法将数据变量添加到上下文中?我是全新的车把,这是唯一的方式,我看到了代码设置。谢谢

这是一款更具胡须风味的,但它应该可以解决您的问题:

<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>

{{{术语}

{{.}}

{{/terms} var数据={期限:['1年','2年]}; var template=document.getElementById(“tmp”).innerHTML; var templateCompile=handlebar.compile(模板); var结果=模板编译(数据); console.log(结果)/1年

2年