我需要从目录中递归读取所有文件。
我使用了代码段:
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.findFiles(dir: string): void
可用,请不要发生this.filePaths
成员变量。
答案 0 :(得分:0)
filePaths未定义。尝试在构造函数中实例化变量,如
this.filePaths = [];