javascript - 获取对象数组然后将其显示在我的组件中

标签 javascript node.js angular

我尝试显示对象数组。

这就是我进入组件的方式

getFiles(){
    this.fileService.getFileList().subscribe(res => {
      this.files = res;
      console.log(this.files);
    })
}

为我服务

getFileList() {
 return this.http.get(`http://localhost:4001/files`)
}

this.files 的输出是:

> {secret: Array(2)} secret: Array(2) 0: files: (2) ["file1.pdf",
> "file2.pdf"]
> __proto__: Object 1: {pass: "88VpGQAtNB"} length: 2
> __proto__: Array(0)
> __proto__: Object

JSON.stringify 给了我输出

stringify gave me {"secret":[{"files":["46544556_2.pdf","org_46544556_2.pdf"]},{"pass":"hoc1WpNj63"}]}

如何迭代这个对象数组?

<li *ngFor="let file of files" >
{{file}}
</li

这给了我错误:

ERROR Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

这是我的后端

app.get('/files', function (req, res) {
  let folder = app.get('filePath');
  const filesInDir = fs.readdirSync(folder, {
      withFileTypes: true
    })
    .filter(item => !item.isDirectory())
    .map(item => item.name)
  res.send({
    secret: [{ files: filesInDir }, { pass: password }],
  })

  return console.log('files from tmp dir: ' + filesInDir)
});

最佳答案

 getFiles(){
    this.fileService.getFileList().subscribe(res => {
      this.files = res.files; // get files from res
      console.log(this.files);
    })
    }

您需要更改组件中的方法。

关于javascript - 获取对象数组然后将其显示在我的组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60630025/

相关文章:

javascript - 从字符串键检索和连接深度嵌套数组的递归方法

javascript - Firefox 不接受我在带有图像的 div 上的宽度和高度规范

javascript - ngx-translate 提供后备语言

javascript - nodejs hapiJs : Sending, 从客户端接收数据

angular - 在 RxJs Observable 中包装一个 API 函数

javascript - 想要在 Angular 4 中单击按钮时获取特定用户的详细信息

javascript - 如何在 HTML5 中从一个窗口控制另一个窗口?

javascript - 过渡移动文本后如何使文本可见

node.js - Sails + 在单个 heroku 服务器上使用react?

javascript - Sequelize update with association 不更新关联模型的表