Dart WebComponent是否可以访问其DOM元素

时间:2013-06-28 21:40:47

标签: dart dart-webui

在扩展WebComponent的类中,是否有一种标准方法来访问代表此实例根的DOM元素?

3 个答案:

答案 0 :(得分:2)

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

getShadowRoot('x-some-component').style.color = '#F00';

答案 1 :(得分:2)

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

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

这是你应该做的:

getShadowRoot('x-your-element').classes.add('your-element');

答案 2 :(得分:0)

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

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

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