0

我有一個很難理解如何處理使用handlebars.js使用jQuery與頂級陣列

字典的頂層陣列Handbars.js模板

我的數據對象不與命名由一個字典數組對象(這是大多數在線處理的例子)。我的數據對象是這樣的:

[ 
    { 
    "Type": "TopLevel", 
    "Identifier": "123456789IL", 
    "FullName": "Smith, John H.", 
    "CurrentLocation": "In Building" 
    }, 
    { 
    "Type": "TopLevel", 
    "Identifier": "123456789OL", 
    "FullName": "Doe, Jane M.", 
    "CurrentLocation": "Parking Lot" 
    } 
] 

這裏是一個工作的的jsfiddle(使用指定數組對象(我沒有),並與我的實際數據對象的非工作的jsfiddle(不。工作)

http://jsfiddle.net/eljaywilson/ZhF5h/ - 工作,但不知道如何我的數據對象看起來

http://jsfiddle.net/eljaywilson/ZhF5h/1/ - 沒有worky

回答

2

您在模板中有一個錯誤 - 你將不得不[/用戶]改爲{{/}}這樣的:

<tbody> 
     {{#.}} 
     <tr> 
      <td>{{Type}}</td> 
      <td>{{FullName}}</td> 
      <td>{{CurrentLocation}}</td> 
      <td>{{Identifier}}</td> 
     </tr> 
     {{/.}} 
    </tbody> 
+0

Doh!不能相信我錯過了,要學習我的副本和粘貼錯誤:) Thx! –

+1

我很高興這不僅僅是我這樣做! ;) – geedubb

1

這應該解決您的問題:

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

var data = [ 
    { 
    "Type": "TopLevel", 
    "Identifier": "123456789IL", 
    "FullName": "Smith, John H.", 
    "CurrentLocation": "In Building" 
    }, 
    { 
    "Type": "TopLevel", 
    "Identifier": "123456789OL", 
    "FullName": "Doe, Jane M.", 
    "CurrentLocation": "Parking Lot" 
    } 
] 
; 

Handlebars.registerHelper('fullName', function(person) { 
    return person.firstName + " " + person.lastName; 
}); 

$('#myDiv').append(template({ users: data })); 

說明:

數據是一個數組,你傳遞給一個模板之前只是把它包起來。

固定的jsfiddle是在這裏:http://jsfiddle.net/akhikhl/bTzf3/1/

+0

爲什麼.. .........? – geedubb