2017-09-26 97 views
0

我想用递归JSON做一个把手模板,但我不知道JSON的键(可能会改变),还需要一个IF语句,那个工作正常。有什么办法可以创建一个帮手来做到这一点?现在我的答案是[对象对象]。这是我的jsfiddle https://jsfiddle.net/deherinu/dvn4076h/递归JSON把手

我的JSON:

var json={ 
"results": [ 
{ 
    "collection": "employer", 
    "summary":{ 
    "person": [ 
     { "name": "My name" }, 
     { "lastname": "My lastname" }, 
     { "address": "Street" } 
    ], 
    "job": "CEO" 
    } 
}, 
{ 
    "collection": "employer", 
    "summary":{ 
    "person": [ 
     { "name": "My name" }, 
     { "lastname": "My lastname" }, 
     { "address": "Street" } 
    ], 
    "job": "Administrator" 
    } 
}, 
{ 
    "collection": "company", 
    "summary": "Company1" 
}, 
{ 
    "collection": "company", 
    "summary": "Company2" 
} 
    ] 
}; 

My output

谢谢!

回答

0

将您的内容包裹在person对象周围。

<script id="template" type="text/x-handlebars-template"> 
    <div style="width: 80%; margin: 0 auto;"> 
    {{#results}} 
    <h3 style="text-transform: uppercase;">{{collection}}</h3> 
    {{#xif " collection == 'employer' " }} 
    {{#summary}} 
    {{#person}} 
    <div> 
     <table> 
     <tbody> 
      {{#each this}} 
      <tr> 
      <td><b>{{@key}}</b></td> 
      <td>{{this}}</td> 
      </tr> 
      {{/each}} 
     </tbody> 
     </table> 
    </div> 
    {{/person}} 
    {{/summary}} 
    {{else}} 
    <div> 
     {{summary}} 
    </div> 
    {{/xif}} 
    {{/results}} 
    </div> 
</script> 
+0

Thanksit Thusitha,问题是我不知道密钥的名称,可能是“人”可能是另一个。 – kakaw

+0

嗯。不知道输入数据格式,很难绑定数据。 – Thusitha