+ FileReader.onLoad =プロパティが存在しないとonloadイベントが呼び出されたときには、その後、ローカルのテキストファイル、 を読み取るためにreadAsText()非同期メソッドです、私は私のファイルを読み取ろうと、私のソースコードは、次のようなものです:不動産「テキスト」はタイプ「FileReaderの」上に存在しないため、Angular2 +活字私は<strong>FileReaderのインターフェイス</strong>を使用しています
export class ReadFileComponent {
text: string;
readFile(): void {
let reader=new FileReader();
reader.onload = function(e) {
this.text=reader.result;
}
reader.readAsText(file);
}
}
コンパイルが失敗した
私は誰かがこの種の問題を解決してくださいました
、これが原因のEventListenerインタフェースは、オブジェクトを受け入れないにあると思いますか?あなたは、コールバック内でthis
を使用したい場合は、矢印の機能を使用し
んが、それはにconsole.log(reader.result)で正常に動作しない、問題はである "これは" は、currentTargetプロパティは、タイプのEventTargetであることを意味し、 ReadFileComponent – da45
そのため、 'function()'の代わりに '()=>'を使う必要があります。矢印関数は、コールバック内の 'this'が現在のクラスを指し続けるようにします。 –
right ..多分[this](http://stackoverflow.com/questions/22939130/when-should-i-use-arrow-functions-in-ecmascript-6)はそれを明らかにするでしょう –