Polymer数据绑定中的子集连字符JSON元素

时间:2016-10-26 14:13:23

标签: html polymer

考虑以下JSON:

{"EMD-4091":["EMD-4084","EMD-4090"]}

这是虚构iron-ajax调用的结果,如下所示:

<iron-ajax
  auto
  url="http://me.com/get/EMD-4091"
  handle-as="json"
  last-response="{{my_data}}">
</iron-ajax>

假设我需要在dom-repeat中引用内部数组:我如何在数据绑定中引用'EMD-4091'? e.g。

<template is="dom-repeat" items="{{my_data????}}> <!-- what should this be?-->
  <p>{{item}}</p>
</template>

如果数据没有连字符,这是一项微不足道的任务。连字符是我面临的挑战。

P

1 个答案:

答案 0 :(得分:1)

数据绑定仍然可以解析带连字符的键而不会出现问题,因此您的绑定将是:

items="{{my_data.EMD-4091}}"

&#13;
&#13;
HTMLImports.whenReady(() => {
  "use strict";

  Polymer({
    is: 'x-foo',
    properties : {
      my_data: {
        type: Array,
        value: () => ({"EMD-4091":["EMD-4084","EMD-4090"]})
      }
    }
  });
});
&#13;
<head>
  <base href="https://polygit.org/polymer+1.7.0/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="polymer/polymer.html">
</head>
<body>
  <x-foo></x-foo>

  <dom-module id="x-foo">
    <template>
      <template is="dom-repeat" items="[[my_data.EMD-4091]]">
        <div>[[item]]</div>
      </template>
    </template>
  </dom-module>
</body>
&#13;
&#13;
&#13;

codepen