2016-12-20 6 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> 

私はIDと名前を取得すると予想し、これは私が得るものです。

<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

でなければなりません。サーバー側テンプレート(template_)ライブラリが同じシンボルを共有しています(角括弧)

私は別の方法を探しています。

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

これは私が何が起こったのかundertood

<option value="{{this.id}}">{{this.name}}</option> 
関連する問題