聚合物。$ collection

时间:2016-09-11 02:41:36

标签: polymer polymer-1.0

我正在阅读事件指南和指南的开头,它说:

  

您还可以使用语法nodeId.eventName为此。$集合中的任何元素添加事件侦听器。

什么是this.$集合?

1 个答案:

答案 0 :(得分:4)

this.$包含从Automatic node finding创建的节点:

  

Polymer在其本地DOM中自动构建静态创建的实例节点的映射,以便方便地访问常用节点,而无需手动查询它们。在元素模板中使用id指定的任何节点都存储在this.$哈希id上。

     

注意:使用数据绑定动态创建的节点(包括dom-repeatdom-if模板中的节点)不会添加到this.$哈希中。哈希仅包括静态创建的本地DOM节点(即,元素的最外层模板中定义的节点)。



<head>
  <base href="https://polygit.org/polymer+1.6.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>
      <div id="div1">foo</div>
      <div id="div2">bar</div>
      <div id="div3">baz</div>
    </template>
    <script>
      HTMLImports.whenReady(function() {
        Polymer({
          is: 'x-foo',
          ready: function() {
            console.log('div1', this.$.div1.textContent);
            console.log('div2', this.$.div2.textContent);
            console.log('div3', this.$.div3.textContent);
          }
        });
      });
    </script>
  </dom-module>
</body>
&#13;
&#13;
&#13;