2016-12-20 79 views
1

我想從本地api填充json數據。我遵循文檔,但它不工作,我得到空的括號,而不是數據。爲什麼handlebars.js返回空括號?

HTML片段:

<div class="form-group"> 
    <select name="form1" id="form1" class="ins-form-basic" > 
    </select> 
</div> 
<script id="sourceTemplate" type="x-handlebars-template"> 
    {{#each items}} 
    <option value="{{id}}">{{name}}</option> 
    {{/each}} 
</script> 

<script> 
$.get("/localApi", function(json) { 
    var source = $("#sourceTemplate").html(), 
     tmplt = Handlebars.compile(source), 
     data = { items: json.item }, 
     output = tmplt(data); 
    $("#form1").append(output); 
}); 
</script> 

我期望得到標識和名稱,這是我得到的。

<option value="{}">{}</option> 
<option value="{}">{}</option> 
<option value="{}">{}</option> 
<option value="{}">{}</option> 

從api json是沒有問題的。這是它的結構。

{ 
    item: [ 
     {id:"1", name:"test1"}, 
     {id:"2", name:"test2"}, 
     {id:"3", name:"test3"}, 
     {id:"4", name:"test4"}, 
     ... 
     ] 
} 

回答

-1

我undertood發生了什麼。服務器端模板(template_)庫共享相同的符號(括號)

我試圖找到另一種方式。

2
<option value="{{id}}">{{name}}</option> 

這應該是

<option value="{{this.id}}">{{this.name}}</option>