【问题标题】:Class member variable got undefined类成员变量未定义
【发布时间】:2018-03-04 21:47:32
【问题描述】:

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

我用的代码是sn-p:

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 成员变量发生什么。

【问题讨论】:

    标签: typescript ionic-framework ionic2 ionic-native


    【解决方案1】:

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

    this.filePaths = [];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多