2017-09-23 12 views
0

ディレクトリからすべてのファイルを再帰的に読み込む必要があります。クラスメンバー変数が定義されていません

私は、コードスニペットを使用:

import { Component } from '@angular/core'; 
import { File } from '@ionic-native/file' 

@Component({ 
    selector: 'page-files', 
    templateUrl: 'files.html', 
}) 
export class FilesPage { 

    public filePaths: string[]; 

    constructor(private file: File) { 
    } 

    ionViewDidLoad() { 
    this.findFiles("WhatsApp/Media"); 
    } 

    findFiles(dir: string): void { 

    this.file.listDir(this.file.externalRootDirectory, dir).then(
     (files) => { 
     for (let file of files) { 
      if (file.isDirectory && file.name != '.' && file.name != '..') { 
      this.findFiles(dir + "/" + file.name) 
      } else { 
      this.filePaths.push(file.name) 
      } 
     } 
     } 
    ).catch(
     (err) => { 
     console.log(err.toString()) 
     } 
    ); 
    } 
} 

私は実行時エラーを取得していますが、メンバ関数this.findFiles(dir: string): voidは何がに起こるいない、利用可能であるthis.filePaths.push(file.name)

で「this.filePathsを定義されていません」 this.filePathsメンバー変数。

答えて

0

filePathsは未定義です。コンストラクタで変数をインスタンス化しようとしてください。

this.filePaths = []; 
関連する問題