2012-03-19 8 views
1

私はハンドルバーテンプレートにUnderscore.js JSONのコンテキストループ構造ですか?

<tbody id="userInfoDetails"> 
      <script id="some-template" type="text/x-handlebars-template">    
      {{#each usersInfo}} 
       <tr> 
        <td class="username">{{screenname}}</td> 
        <td class="realName">{{realname}}</td> 
        <td class="email">{{email}}</td> 
       </tr> 
      {{/each}} 
    </script> 
    </tbody> 

マイJSONコンテキストがあります。

var response = [{ 
    "usersInfo": [{ 
      "id": 0, 
      "email": "[email protected]", 
      "realname": "user0", 
      "screenname": "mash0", 
      "mention": "false" 
     }, 
     { 
      "id": 1, 
      "email": "[email protected]", 
      "realname": "user1", 
      "screenname": "mash1", 
      "mention": "false" 
     }, 
     { 
      "id": 2, 
      "email": "[email protected]", 
      "realname": "user2", 
      "screenname": "mash2", 
      "mention": "false" 
     } ] 
}] 

とレンダリング機能:

var source = $("#some-template").html(); 
    var template = Handlebars.compile(source);     
    $("#userInfoDetails").html(template(response)); 

をしかし、私は、レンダリングのために期待されるHTMLを取得いけません。実際このコードでは、template(response)は空を返します。

提案がありますか?

答えて

0

で答えるhttps://stackoverflow.com/a/7344483/1342296です。

あなたの場合。 JSONレスポンス・サーバー側を変更するか、最初のオブジェクトのみをテンプレート化してください。

$("#userInfoDetails").html(template(response[0]));