使Handlebars使用一系列对象

Mic*_*ick 1 jquery handlebars.js

我有一个对象,我想要把手处理

stock= [
{
  trailer: "TT6565",
  usual  : "Jack",
  group  : "Mercs"

},
{
  trailer: "TT6589",
  usual  : "Paul",
  group  : "Mercs"
}
]
Run Code Online (Sandbox Code Playgroud)

这是一个示例,但在我的脚本中,对象是从ajax请求创建的.

这是我的车把脚本

<script id="mwl707" type="text/x-handlebars-template">

<div id='vehicles' class='wrapper'>
<div class='divd spacer'>&nbsp</div>

    {{#each stock}}
        <div id='{{group}}' title='Driver Details' class='divd {{group}}' >
        {{trailer}} + "<br>" + {{usual}}
        </div>
    {{/each}}

</div>

</script>

 var source = $("#mwl707").html();
 var template = Handlebars.compile(source);

 $("#thisPage").append(template( stock ));
Run Code Online (Sandbox Code Playgroud)

问题是迭代(每个)部分没有通过我的列表运行,我认为把手不喜欢对象,但有什么办法围绕这个?或者我的代码错了?有什么帮助吗?

Amy*_*Amy 5

尝试:

{{#each this}}
    <div id='{{group}}' title='Driver Details' class='divd {{group}}' >
        {{trailer}} + "<br>" + {{usual}}
    </div>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

看看我的例子:http://jsfiddle.net/svZws/

您使用的原因{{#each this}}是因为您将stock对象传递到模板中,因此在模板引擎的上下文中,this引用您的stock对象.

如果使用{{#each stock}},则表示stock是传递给template()函数的对象内的属性名称.