Es gibt viele Möglichkeiten, aber ich würde empfehlen die Verwendung document.createElementin welcher Weise auch immer. Beispielsweise:
var image = <HTMLImageElement>document.createElement('img');
Sie könnten Komfortfunktionen oder Klassen erstellen, die dies für Sie wickeln.
Einer der anderen Wege wären beispielsweise einen Verweis auf die ursprüngliche Image-Klasse vor Ihrer Klassendefinition zu erstellen:
var ImageElement = Image;
...
export class Image {
...
}
var image = new ImageElement()
aber es wird nicht so erkannt werden , HTMLImageElementbeispielsweise, dh ohne entsprechende Code - Vervollständigung.
edit : hier ist mein Nicht-Arbeits Versuch , das erweitern WindowSchnittstelle wie in den Kommentaren erwähnt:
interface Window {
Image: new(width?: number, height?: number) => HTMLImageElement;
}
Es kompiliert korrekt (dh ohne Fehler), aber in Visual Studio als Fehler markiert ist, zu sagen Duplicate Identifier 'Image', und versucht , eine Instanz zu schaffen , über new window.Image()sagen , werden markiert new expressions only valid on constructors. Interessanterweise funktioniert es auf anderen Schnittstellen in Ordnung, und wie bereits erwähnt, stellt sie richtig.