访问dom-repeat in dom-if from javascript

时间:2016-07-02 12:48:15

标签: javascript polymer polymer-1.0

是否可以从JavaScript访问dom-repeat内的dom-if

<template is="dom-if" if={{someCondition}}>
  <template is="dom-repeat" items={{data}}></template>
</template>

我可以使用dom-if访问this.$.id,但如何访问dom-repeat

1 个答案:

答案 0 :(得分:1)

您必须使用DOM APIthis.$$(selector)功能。根据文档

  

$$返回本地DOM中与选择器匹配的第一个节点。

&#13;
&#13;
Polymer({
  is: 'my-elem',
  
  accessSelector: function() {
    alert(this.$$('div').textContent);
  }
});
&#13;
<!DOCTYPE html>
<html>
<head>
  <base href="https://polygit.org/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link href="polymer/polymer.html" rel="import"/>
</head>

<body>
  <my-elem></my-elem>
  
  <dom-module id="my-elem">
    <template>
      <template is="dom-if" if="true">
        <template is="dom-repeat" items='[ 1, 2, 3 ]'>
          <div>Item: {{item}}</div>
        </template>
      </template>
      
      <button on-tap="accessSelector">Selector</button>
    </template>
  </dom-module>

</body>
</html>
&#13;
&#13;
&#13;