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 に答える