如何在Polymer中的JSON对象中返回值?

时间:2016-09-02 16:55:24

标签: json polymer

JSON的新功能。当JSON文件是基本数组(参见target1.json)时,以下Polymer代码可以工作(返回字符串),但是当数据在对象(target2.json)中时,我不知道如何返回其中的值?

<dom-module id="x-app">
    <template>

      <iron-ajax 
        url="target1.json" 
        handle-as="json"
        last-response="{{data}}"
        auto
      ></iron-ajax>

      <iron-list 
      id="itemsList" 
      items="[[data]]" 
      >

            <template>
                    <div class="pad"> 
                        [[item.name]]
                    </div>
            </template>

     </iron-list>

     </template>
</dom-module>

<script>
    HTMLImports.whenReady(function() {
        Polymer({
          is: 'x-app',
          properties: {
            selectedItems: {
              type: Object
            }
          },
        });
  });
</script>

target1.json:

 [
    {
        "name": "blah blah blah"
    },
    {
        "name": "blah blah blah 2"
    },
]

target2.json:

{
    "listing": [
        {
            "name": "blah blah blah"
        },
        {
            "name": "blah blah blah 2"
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

你的<iron-ajax>正在返回一个内部有一个数组的对象(listing),但你的<iron-list>正在等一个数组。

所以而不是

<iron-list id="itemsList" items="[[data]]">...</iron-list>

您应该参考listing

中的data数组
<iron-list id="itemsList" items="[[data.listing]]">...</iron-list>