See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 13248|Vastuse: 0

[TypeScript] TypeScript: Omadus "value" ei eksisteeri tüübil "HTMLElement"

[Kopeeri link]
Postitatud 27.05.2019 14:06:54 | | |
HTML näeb välja selline:

ja greeter.ts dokumendid:

Kui kompileerin tsc-ga, saan järgmise "vea":

/home/bjarkef/sandbox/greeter.ts(8,53):属性’value’不存在类型’HTMLElement’的值,

Kuid kompilaator väljastab JavaScripti faili, mis töötab Chrome'is hästi.

Kuidas ma selle vea sain? Kuidas ma saan seda parandada?

Samuti, kust ma leian, millised omadused on "HTMLElement"-is kehtivad vastavalt typescriptile?

Pane tähele, et olen JavaScripti ja typescripti osas väga uus, nii et võib-olla jäin midagi märgatavast kahe silma vahele.


Tomasz Nurkiewiczi vastuse põhjal on "probleem" selles, et typescript on trükikindel. :) seega document.getElementById() tagastatud tüüp HTMLElement ei sisalda väärtusomadust. Kuid HTMLInputElement alamtüüp sisaldab väärtusomadust.
Lahendus on teisendada getElementById() tulemus HTMLInputElementiks nii:


<> on masinakirjas valamise operaator.

Ülaltoodud realt genereeritud javascript näeb välja selline:

See tähendab, et see ei sisalda tüübiinfot.




Eelmine:"Konteineripilveoperatsioonid praktikas: Dockeri ja Kubernetes'i klastrid" autor Huang Jingjun
Järgmine:Üks hobukeelne plokiahela tööklass on lõppenud
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com