类成员变量未定义

时间:2017-09-23 12:24:37

标签: typescript ionic-framework ionic2 ionic-native

我需要从目录中递归读取所有文件。

我使用了代码段:

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.filePaths.push(file.name)

收到运行时错误“ this.filePaths is undefined

但是成员函数this.findFiles(dir: string): void可用,请不要发生this.filePaths成员变量。

1 个答案:

答案 0 :(得分:0)

filePaths未定义。尝试在构造函数中实例化变量,如

this.filePaths = [];