车把入门

时间:2015-09-15 15:33:23

标签: javascript handlebars.js

我第一次在Handlebars周围乱砍;我的目标是在html中显示项目列表。

这是html中的脚本:

<div>
  <script id="list-items" type="text/x-handlebars-template">​
    {{#each list}} {{ price }} {{/each}}
  </script>
</div>

这是js文件:

var list = [
          {
            name: 'Almond Toe Court Shoes, PatentBlack',
            category: 'Women\'s footwear',
            price: 42,
            quantity: 5
          },
          {
            name: 'Bla bla bla',
            category: 'Women\'s footwear',
            price: 66,
            quantity: 5
          }
        ];


    var theTemplateScript = $("#list-items").html();
    
    


    var theTemplate = Handlebars.compile (theTemplateScript);

    
    

    $(document.body).append (theTemplate (list));

我的代码不起作用,我在控制台中看不到任何错误。 我做错了什么?

1 个答案:

答案 0 :(得分:4)

您的模板会迭代list属性,但您会传递原始数组。

要协调您的模板和您传递的数据,请传递具有list属性的对象:

$(document.body).append (theTemplate ({
    list: list
}));

http://jsfiddle.net/nikoshr/hm6psg9w/1/

或修改模板以迭代数组:

<script id="list-items" type="text/x-handlebars-template">​
    {{#each .}} {{ price }} {{/each}}
</script>

http://jsfiddle.net/nikoshr/hm6psg9w/