Polymer 1.0 - 通过 id 选择动态元素的问题

Polymer 1.0 - Issue selecting dynamic element by id

我正在尝试 select 通过动态创建的 id 元素:

<dom-module id="filter-box">
  <style>
    :host {
      display: block;
    }
  </style>
  <template>
    <h4 id="title">{{title}}</h4>

    <paper-checkbox id="test">test</paper-checkbox><br>

    <template is="dom-repeat" items="{{filters}}">
      <paper-checkbox id="{{item}}">{{item}}</paper-checkbox><br>
    </template>

  </template>
</dom-module>
<script>
  (function () {
    Polymer({
      is: 'filter-box',
      properties: {
        filters: {
          type: Array,
          notify: true,
        },
        title: {
          type: String
        }
      },
      ready: function() {
        this.filters = [
          'Commercial',
          'Enterprise'
        ];
      },
      isSelected: function(filter) {
        return this.$$[filter].checked;
      }
    });
  })();
</script>

当调用 isSelected("something") 时,我得到:

"Uncaught TypeError: Cannot read property 'checked' of undefined"

我可以通过 this.$.title select 标题,但是我不能 select 动态元素这种方式或使用 this.$$ 按照建议 here.

根据您提供的参考资料,您应该像在函数调用中一样使用 括号 调用 this.$$(selector)(而不是括号)。所以用这个替换你的代码:

return this.$$('#'+filter).checked;

请注意,您可能还需要在 ID 选择器前加上 #