ember JS:遍历json列表并在Handlebars中显示

时间:2018-03-05 10:05:29

标签: ember.js

我有一个JSON对象,它包含一组json对象。  我想在我的JSON对象中将每个应用程序的提供程序组列表显示为dataList。

JSON对象是:

{"Application1":[{"pg_id":"test00020","pg_name":"test20","sealID":"Application1"},{"pg_id":"test00030","pg_name":"test30","sealID":"Application1"}],"Application2":[{"pg_id":"test00040","pg_name":"test40","sealID":"Application2"},{"pg_id":"test00050","pg_name":"test50","sealID":"Application2"}]}

我将此JSON对象命名为 AppPgMap ,在我的hbs文件中,我尝试按如下方式访问它:

         **<input class="typeahead" type="text" id={{concat "pg_id_input"  index index_new}} list="pg_data"  onchange= {{action "getProviderGroups"   }}  placeholder="search here">  
          <datalist id="pg_data">
        <select   class="form-control " id= "new_pg_id"  oninput={{action (mut el.value) value="target.value" }}  required=true>

             {{#each AppPgMap as |application| }}
              {{#each application as |providerGroup|}}
                <option value={{ providerGroup.pg_id }}> {{providerGroup.pg_name}}</option>

                {{/each}}
             {{/each}}



       </select>  
      </datalist>**

这对我不起作用,而不是获取数据列表,我得到一个空的输入字段。

有解决方案吗?或者我是否需要重构我的数据并尝试以其他方式显示它?

1 个答案:

答案 0 :(得分:0)

对于迭代对象,您可以使用each-in helper

{{#each-in PgMap as |appName  appDetails| }}
  {{#each appDetails as |providerGroup|}}
    <option value={{ providerGroup.pg_id }}> {{providerGroup.pg_name}}</option>
  {{/each}}
{{/each-in}}

相关问题