1

我有一个我希望车把处理的对象

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

},
{
  trailer: "TT6589",
  usual  : "Paul",
  group  : "Mercs"
}
]

这是一个示例,但在我的脚本中,该对象是从 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 ));

问题是 iterate(each) 部分没有贯穿我的列表,我认为车把不喜欢对象,但有什么办法解决这个问题吗?还是我弄错了代码?请问有什么帮助吗?

4

1 回答 1

5

尝试:

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

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

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

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

于 2013-03-13T16:47:16.020 回答