여러 가지가 있지만 어떤 방식 으로든 document.createElement
을 사용하는 것이 좋습니다. 예를 들면 다음과 같습니다.
var image = <HTMLImageElement>document.createElement('img');
이 기능을 사용하면 편리한 기능이나 클래스를 만들 수 있습니다.
var ImageElement = Image;
...
export class Image {
...
}
var image = new ImageElement()
그러나
이 HTMLImageElement
인스턴스로 인식되지 않습니다, 즉 어떤 적절한 코드 완성 : 다른 방법
하나는 클래스 정의하기 전에 원래 이미지 클래스에 대한 참조를 만들 예를 들어 것 .
편집는 :
interface Window {
Image: new(width?: number, height?: number) => HTMLImageElement;
}
제대로 컴파일 (즉, 오류없이),하지만 비주얼 스튜디오에서 같이 신고 한 : 여기 내 작동하지 않는 코멘트에서 언급 Window
인터페이스를 확장하기 위해 시도이다 Duplicate Identifier 'Image'
이라는 오류가 발생하고 new window.Image()
을 통해 인스턴스를 만들려고하면 new expressions only valid on constructors
이라는 플래그가 지정됩니다. 흥미롭게도 다른 인터페이스에서 잘 작동하며 이미 언급했듯이 올바르게 컴파일됩니다.
출처
2012-10-08 13:50:16
ndm
감사합니다. 이것은 내 특별한 경우에 도움이되지만 전역 네임 스페이스를 처리 할 연산자가 있다면 유용 할 것입니다. – vexator
예. 'window.Image'에 접근 할 수있는 것은 또한 그것을 할 것이지만,'Image'는'Window' 인터페이스 상에 정의되어 있지 않습니다. 그리고 나 자신도 그것을 정의 할 수 없었습니다. – ndm