是否有DOM nativeElement的typescript定义?

时间:2016-12-08 12:34:41

标签: angular typescript-typings angular2-testing

我正在测试一个Angular2组件,并希望断言该组件的nativeElement属性,但它没有任何打字稿定义。我的测试看起来像这样:

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元素的属性

2 个答案:

答案 0 :(得分:21)

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

(myComponentFixture.nativeElement as HTMLElement)....

答案 1 :(得分:0)

您可以使用Angular核心软件包中的ElementRef:

import { ElementRef } from '@angular/core';