ターゲットであるHTMLElementのタイプをTypeScriptに明示的に通知する必要があります。
これを行う方法は、ジェネリック型を使用して適切な型にキャストすることです。
this.countUpdate.emit((<HTMLTextAreaElement>e.target).value./*...*/)
または(好きなように)
this.countUpdate.emit((e.target as HTMLTextAreaElement).value./*...*/)
または(再度、好みの問題)
const target = e.target as HTMLTextAreaElement;
this.countUpdate.emit(target.value./*...*/)
これにより、TypeScriptは要素がa textareaであることを認識し、valueプロパティを認識します。
TypeScriptにそれらの型に関する情報をもう少し与えると、適切なヒントと、もちろんエラーが少なくなるので、どんな種類のHTML要素でも同じことができます。
将来のために簡単にするために、ターゲットのタイプでイベントを直接定義することができます。
// create a new type HTMLElementEvent that has a target of type you pass
// type T must be a HTMLElement (e.g. HTMLTextAreaElement extends HTMLElement)
type HTMLElementEvent<T extends HTMLElement> = Event & {
target: T;
// probably you might want to add the currentTarget as well
// currentTarget: T;
}
// use it instead of Event
let e: HTMLElementEvent<HTMLTextAreaElement>;
console.log(e.target.value);
// or in the context of the given example
emitWordCount(e: HTMLElementEvent<HTMLTextAreaElement>) {
this.countUpdate.emit(e.target.value);
}
<img [src]="url"> <br/> <input type='file' (change)="showImg($event)">コンポーネント:... this.url = event.target.result;それはERRないときいつかは時々作品は、ないているerror TS2339: Property 'result' does not exist on type 'EventTarget'、あなたはそれについての詳細TSを伝える示唆されているような場所では、HTMLTextAreaElement私が試したHTMLInputElement後、target.valueこれ以上エラーですが、画像が表示されません。