17

我有模型:

[
  {
    "ID": 5,
    "email": "xx@vflbg.com"
  },
  {
    "ID": 6495,
    "email": "email@monkey.com"
  }
]

在车把中迭代的代码:

   {{#each xxx}}
    <p>{{email}}</p>
   {{/each}}

我如何定义 xxx ?

如果 JSON 在模型中有名称,例如:

   users: [
      {
        "ID": 5,
        "email": "xx@vflbg.com"
      },
      {
        "ID": 6495,
        "email": "email@monkey.com"
      }
    ]

我会简单地迭代车把,例如:

   {{#each users}}
    <p>{{email}}</p>
   {{/each}}
4

2 回答 2

34

这也有效:

{{#each this}}
<p>{{email}}</p>
{{/each}}
于 2013-06-26T20:20:19.487 回答
16

如果你有这个:

var a = [
  {
    "ID": 5,
    "email": "xx@vflbg.com"
  },
  {
    "ID": 6495,
    "email": "email@monkey.com"
  }
];

然后在调用编译模板时提供所需的名称:

var t = Handlebars.compile($('#t').html());
var h = t({ users: a });

这将为您留下您想要的 HTML 格式h

演示:http: //jsfiddle.net/ambiguous/ZgVjz/

如果您有一个从数据构建的集合:

var c = new C(a);

然后你会这样调用模板:

var h = t({ users: c.toJSON() });

演示:http: //jsfiddle.net/ambiguous/uF3tj/

于 2012-07-27T04:23:56.977 回答