Typescript hatasından nasıl kaçınılır: 'Element' türünde 'innerHTML' özelliği yok
Belirli bir div'in içine bazı HTML yerleştirmeye çalışıyorum. Bunu TypeScript'te denediğimde şu hatayı alıyorum: Property 'innerHTML' does not exist on type 'Element'. Temelde, kod şöyle:
document.body.innerHTML = '<div id="myDiv"><div>'
let myContainer = document.querySelector("#myDiv");
myContainer.innerHTML = '<h1>Test</h1>';
Şaşırtıcı bir şekilde, typescript derlediğinde hala çalışıyor, ama typescript bana bir hata veriyorsa, bu durumda innerHTML atamanın doğru yolu nedir?
Cevap #1
Derleyiciyi yatıştırmak için bir tür bildirimi kullanın:
let myContainer = <HTMLElement> document.querySelector("#myDiv");
myContainer.innerHTML = '<h1>Test</h1>';
Cevap #2
Gelecek TypeScript sürümlerinde, bu tür dönüşümü yapmak gerekli olmamalıdır. Sorunu düzeltmek için bir pull request gönderdim:
hata: 'Element' türünde 'innnerHTML' özelliği mevcut değil(https://github.com/Microsoft/TypeScript/issues/5754)- https://github.com/Microsoft/TSJS-lib-generator/pull/35 (zaten birleştirildi)
