向数组中添加数据但length打印为0

向数组中push了数据, 但是打印的时候为[]数组,但是空数组里面有数据,length为5, 但是打印出来length发现长度为0,这个怎么弄啊?急求?

types: any[] = [];

  constructor(
    private router: Router,
    private typeSrv: TypeService,
    private arraySrv: ArrayService
  ) {
    this.load();
  }


  ngOnInit() {
    console.log(this.types)
  }
  load(): any {
   this.typeSrv.listType()
    .pipe(map(res => res.data))
    .subscribe(res => {
      const typeTree = this.arraySrv.arrToTree(res);
      const typeEnum = this.convert(typeTree);
      for(const i of typeEnum) {
        this.types.push(i);
      }
    })
  }


1个回答

在for of 循环前设置一个变量 let a = []; 把this.types.push(i) 换成 a.push(i); 循环结束后 把a赋值给this.types

liuxu977
liuxu977 这样做没用,已经试过了
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐