如何在Polymer中访问多个#shadow-roots?

时间:2014-11-05 16:06:06

标签: polymer shadow-dom

<lingenio-view-translation>元素实际上扩展了另一个元素,所以我猜这是多个#shadow-root标记源自的地方。较低的一个是来自扩展元素的#shadow-root,来自扩展元素的上一个是<lingenio-view-translation>。如何从this.shadowRoot中扩展元素(也称为扩展元素)中访问扩展元素? {{1}}总是返回最高的一个。

multiple #shadow-root tags

1 个答案:

答案 0 :(得分:2)

使用&#34; shadowRoots&#34;属性。 example

Polymer('x-zot', {
  ready: function() {
    console.assert(
      this.shadowRoots['x-foo'].querySelector('#foo') === this.$.foo
    );
    console.assert(
      this.shadowRoots['x-bar'].querySelector('#bar') === this.$.bar
    );
    console.assert(
      this.shadowRoots['x-zot'].querySelector('#zot') === this.$.zot
    );
  }
});