2017-10-10 11 views
0

角度コンポーネントでファイルを作成してダウンロードしたいと考えています。これを行うために私はFileSaver.jsを使用しています。私は私のコンポーネントでそれをインポートしているにもかかわらず、私はコンソールにこのエラーが表示されます。未定義のプロパティ 'saveAs'を読み取ることができません

ERROR TypeError: Cannot read property 'saveAs' of undefined

これは私のコンポーネントである:

import { Component, OnInit } from '@angular/core'; 
import { HttpClient } from '@angular/common/http'; 
import { FileSaver } from 'file-saver'; 


@Component({ 
moduleId: module.id, 
templateUrl: 'home.component.html', 
styleUrls: ['home.component.css'] 
}) 

export class HomeComponent implements OnInit { 


constructor(private http: HttpClient) { 

} 

nodes: any; 
ngOnInit(): void { 
    // Make the HTTP request: 
    this.http.get('assets/file.json').subscribe(data => { 
    // Read the result field from the JSON response. 
    this.nodes = data; 
    this.saveFile(); 

    }); 

} 

saveFile=function(){ 
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); 
FileSaver.saveAs(blob, "hello world.txt"); 


} 


} 

答えて

0

はそれを使用otのことができるようにあなたのコンストラクタを使用してFileSaverを宣言します

constructor(private http: HttpClient, private fs : FileSaver) { 

} 

次に、fs変数を使用してください。

+0

あなたは、このようなfs変数を使うことができます: 'this.fs.saveAs(...)'? – eli

+0

はい。あなたがhttp – sheplu

+0

と同じように私はもう一度エラーを出しました: 'HomeComponentのすべてのパラメータを解決できません:([オブジェクトオブジェクト]、?)。 – eli

関連する問題