2

在我扩展 WebComponent 的类中,是否有一种标准方法可以访问表示该实例根的 DOM 元素?

4

3 回答 3

2

是的,您可以使用 getShadowRoot():

getShadowRoot('x-some-component').style.color = '#F00';
于 2013-06-28T22:04:54.980 回答
2

有两种方法。首先是使用_root. 第二种选择是使用getShadowRoot()Pixel Elephant 提到的。

一些旧代码依赖于_root,但不要使用它,因为它已被弃用并且正在消失。getShadowRoot()在 IDE 中自动完成也会更好。

这是你应该做的:

getShadowRoot('x-your-element').classes.add('your-element');
于 2013-06-29T11:08:43.430 回答
0

我不知道这是否是一个好方法,
但我使用这样的东西:

inserted() {
  var root = shadowRoot != null? shadowRoot: this;
  var element = root.query("something in the webcomponent dom");
  element.text = "Hello from webcomponent";
}

此代码符合 shadow dom 和标准方式。

于 2013-07-05T09:48:50.953 回答