聚合物数据绑定中的子集连字符JSON元素



考虑以下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' ?例如

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

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

p

数据绑定仍然可以毫无问题地解析连字符键,因此您的绑定将是:

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

HTMLImports.whenReady(() => {
  "use strict";
  Polymer({
    is: 'x-foo',
    properties : {
      my_data: {
        type: Array,
        value: () => ({"EMD-4091":["EMD-4084","EMD-4090"]})
      }
    }
  });
});
<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>

codepen

最新更新