繁体   English   中英

Angular:如何将可观察对象推送到列表

[英]Angular: How can i push an observable to a list

我收到一条错误消息,提示我无法将未定义的变量推送到我的列表中。 这是我在 component.ts 中的代码

for (const file of this.allFiles) {
  this.uploadFileService
    .validate(file)
    .subscribe(  valid => {
      this.validList.push(valid);
    })
}

这是我的服务:

validate(file: File): Observable<boolean> {
      const data: FormData = new FormData();
      data.append('file', file);
      return this.http.post<boolean>(`${this.url}/validate`,data);
    }

如何推送到列表?

如果在推送之前没有先初始化数组( [] ),您将收到此错误。 请先在组件顶部声明变量validList: Array<any> = [] ,然后再将数据推入内部。

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent implements OnInit{
  name = 'Angular';
  validList: Array<any> = [];

  ngOnInit() {
    this.validList.push(true);
  }
}

发布重复的 stackblitz

工作堆栈闪电战

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM