[解決済み] 新しい Typescript 1.8.4 のビルドエラー。" ビルド。Property 'result' がタイプ 'EventTarget' に存在しません。"
質問
私はtypescriptに新しいです。私のDurandalアプリケーションで、私はVS-2012からVS-2015に移行し、typescript 0.9からtypescript 1.8.4を意味します。移行した後、私は非常に多くのビルドエラーを得た。私は1つを除いて、それらのすべてを解決しました。私はイベントの種類で以下のビルドエラーを取得しています。
ERROR: " ビルドです。プロパティ 'result' は、タイプ 'EventTarget' に存在しません。
そして、コードはまさに以下のようなものでした。
var reader:any,
target:EventTarget;
reader= new FileReader();
reader.onload = function (imgsrc){
var fileUrl = imgsrc.target.result;
}
"Imgsrc"は、タイプイベントを取っています。
typescript 0.9では正常に動作していますが、1.8.4では'EventTarget'型に'result'が存在しないとしてエラーを投げています。 どなたか、この問題を解決するためにお手伝いいただけないでしょうか。
注意:"target:EventTarget" は lib.d.ts から取得しています。
どのように解決するのですか?
一方
any
は薬である
(ほとんど何にでも使えますが...それならTypeScriptの利点はどこにあるのでしょう)
... 同じような問題が報告されており、素敵な
(TypesScript的な)
による回避策が提案されています。
lib.d.ts のイベントインターフェイスの currentTarget を変更するリクエスト
を引用させてください。
<ブロッククオート私はこの TS2339 に遭遇しました: プロパティ 'result' はタイプ JS FileReaderのonloadにある'EventTarget'型に'result'が存在しません。 また、FileReaderのonerrorに渡されたイベントのgetSummary()についても警告が出ました。
私の回避策は、恐ろしい赤色の斜線を抑制することです。 次のとおりです。
interface FileReaderEventTarget extends EventTarget {
result:string
}
interface FileReaderEvent extends Event {
target: FileReaderEventTarget;
getMessage():string;
}
次に私のアプリでは
reader.onload = function(fre:FileReaderEvent) {
var data = JSON.parse(fre.target.result);
...
}
そして、lib.d.tsに何らかの変更があるまでは、まだ既知のインターフェイスで作業しています。
2019年12月編集。
この修正により、以下のようになる可能性があります。
エラー TS2322: 型 '(this: FileReader, e: FileReaderEvent) => void' は型 '(this: FileReader, ev: ProgressEvent) => any' に割り当てることができません。
もしそうなら、次のように置き換えるだけです。
interface FileReaderEvent extends Event {
で
interface FileReaderEvent extends ProgressEvent {
関連
-
[解決済み】プロパティ 'value' が 'HTMLElement' 型の値に存在しない。
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み】TypeScriptの "not assignable to parameter of type never "エラーとは?
-
[解決済み】Ignore Typescript Errors "property does not exist on value of type" (タイプの値にプロパティが存在しない)。
-
[解決済み】タイプ 'EventTarget' にプロパティ 'value' が存在しない。
-
[解決済み】TypeScriptのEventTarget型にプロパティ'value'が存在しない。
-
[解決済み】プロパティ 'map' が 'Observable<Response>' 型に存在しない。
-
[解決済み] TypeScript Mapファイルとは?
-
[解決済み] types/packageでインストールしたTypeScriptの型定義が正しくない場合に上書きする方法
-
[解決済み] TypeScriptでEnumを比較する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプトのパイプ(|)の意味とは?
-
[解決済み] typescriptのインターフェイスを別ファイルで宣言しインポートする方法
-
[解決済み] エラー Typescript Feature 1.5。現在の言語レベルは1.4です。
-
[解決済み] TypeScript Genericsに複数の型制約を指定することは可能か?
-
[解決済み] Angular2のhttpデータからRxJS ObservablesをTypeScriptで連鎖させる。
-
[解決済み] spec/testフォルダを使用したtsconfigのセットアップ
-
[解決済み] TypeScript 2: 型付けされていない npm モジュールのためのカスタム型付け
-
[解決済み] TypeScriptのInterfacesでgetter/setterを使用することは可能ですか?重複
-
[解決済み] types/packageでインストールしたTypeScriptの型定義が正しくない場合に上書きする方法
-
[解決済み] 型 'null' は型 'T' に割り当てられません。