Arrays 无法将数据从服务分配到阵列

Arrays 无法将数据从服务分配到阵列,arrays,angular,typescript,Arrays,Angular,Typescript,具有以下组件: import { Component, OnInit } from '@angular/core'; import { FormArray, FormControl, FormGroup, NgForm } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { CisvcService } from 'src/app/services/cisvc.service'; @

具有以下组件:

import { Component, OnInit } from '@angular/core';
import { FormArray, FormControl, FormGroup, NgForm } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { CisvcService } from 'src/app/services/cisvc.service';

@Component({
  selector: 'app-cambio',
  templateUrl: './cambio.component.html',
  styleUrls: ['./cambio.component.css']
})
export class CambioComponent implements OnInit {
  idproyecto: any;

  tipos: any[] = [];
  areas: any[] = [];
  cbAreas: boolean[] = [];

  constructor(private activatedRoute: ActivatedRoute, private svc: CisvcService ) {}

  ngOnInit(): void {

    this.activatedRoute.params.subscribe( params => {
      this.idproyecto = params['id'];
    });

    this.svc.getTipos().subscribe( (data: any[]) => {
      console.log(data);
      this.tipos = data;
    });

    this.svc.getAreas().subscribe( (data: any[]) => {
      this.areas = data;
    });

    console.log(this.areas);
    console.log(this.tipos);

  }

  formSubmit( forma: NgForm ){
    if (forma.invalid){
      console.log('datos invalidos');
      return;
    }
  }
}

我看到数据来自该服务,但没有任何关于阵列类型和区域的信息。
有谁能帮我了解一下是否有什么问题。

那是因为您正在安慰您订阅之外的
tipos
区域

您需要在订阅内部进行控制台操作以检查其值:

this.svc.getTipos().subscribe( (data: any[]) => {
  this.tipos = data;
  console.log(this.tipos);              // Console here
});

this.svc.getAreas().subscribe( (data: any[]) => {
   this.areas = data;
   console.log(this.areas);            // Console here
});
注意:

  • 来自服务调用的订阅正在处理可观察到的内容,在您能够获取它们各自的响应之前,这些内容必须是
    subscribe