Polymer 如何访问聚合物中的多个影子根?

Polymer 如何访问聚合物中的多个影子根?,polymer,shadow-dom,Polymer,Shadow Dom,元素实际上扩展了另一个元素,因此我猜这就是多个#shadow root标记的来源。下一个是扩展元素的#shadow root,上一个是扩展元素的。如何从扩展元素中访问扩展元素this.shadowRoot始终返回最上面的一个 使用“shadowRoots”属性: 对。如果您将其添加为答案,我会将其标记为正确答案。可以在此处找到上述方法的替代方法: Polymer('x-zot', { ready: function() { console.assert( this.sha

元素实际上扩展了另一个元素,因此我猜这就是多个
#shadow root
标记的来源。下一个是扩展元素的
#shadow root
,上一个是扩展元素的。如何从扩展元素中访问扩展元素
this.shadowRoot始终返回最上面的一个

使用“shadowRoots”属性:


对。如果您将其添加为答案,我会将其标记为正确答案。可以在此处找到上述方法的替代方法:
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
    );
  }
});