我正在尝试将一些JavaScript Polymer元素移植到AngularDart。

我需要能够做到与this.$.contentContainer.getBoundingClientRect();等效(对于那些不熟悉Polymer的人,基本上就是component.getElementById("contentContainer").getBoundingClientRect())。

我还需要能够访问host元素以执行诸如window.getComputedStyle(this).direction之类的操作,其中this是host元素。

通常如何在AngularDart中完成类似的事情?

最佳答案

您可以注入(inject)一个名为ElementRef的对象:

import 'dart:html';

class Comp {
  final ElementRef _elementRef;

  Comp(this._elementRef) {
    final element = _elementRef.nativeElement as Element;
    element.getComputedStyle(); // ...
  }
}

在AngularDart 4.x中,我们将允许您直接注入(inject)Element

关于javascript - 如何在AngularDart中访问DOM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45426363/

10-10 17:13