DOM nativeElement 是否有打字稿定义?

Is there typescript definition for DOM nativeElement?

我正在测试一个 Angular2 组件并想断言该组件的 nativeElement 的 属性,但是没有它的 typescript 定义。我的测试如下所示:

beforeEach( () => {
    myComponentFixture = TestBed.createComponent(MyComponent);
    myComponent = myComponentFixture.componentInstance;
});

it('Should display something', fakeAsync(() => {
    myComponentFixture.detectChanges();

    expect(myComponentFixture.nativeElement.textContent).toContain('something');
}));

问题是,在我键入 nativeElement. 之后,没有针对它的 IntelliSense,因为我认为 nativeElement 没有键入。我可能想检查更多属性,例如 innerHtml、id 等。这个示例测试可能没有意义,但我可以使用 myComponentFixture.debugElement.query(By.css('#myElement')).nativeElement

测试某些特定 DOM 元素的属性

你需要施法。由于多平台策略,他们没有为 nativeElement 指定特定类型:

(myComponentFixture.nativeElement as HTMLElement)....