错误TypeError:“ _ co.voiture未定义”如何解决此错误

时间:2019-04-16 17:15:41

标签: angular

我对这段代码有疑问,但是它给了我回报,但事实证明有人说我的汽车对象没有定义

import { Component, OnInit } from '@angular/core';
import { VoitureService } from '../services/voiture.service';
import { Voiture } from '../Voiture.model';
import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-single-voiture',
  templateUrl: './single-voiture.component.html',
  styleUrls: ['./single-voiture.component.css']
})

export class SingleVoitureComponent implements OnInit {

   voiture : Voiture[];
   voitureId : number;

   constructor(
     private serviceVoiture: VoitureService, 
     private route: ActivatedRoute
   ) { 
   }

   ngOnInit() {
     const voitureId = this.route.snapshot.params['id'];      
     this.serviceVoiture
       .getVoiture(voitureId)
       .subscribe(data => { this.voiture = data });
   }

}

我的函数在带ID的Voiture上获得voiture返回

 getVoiture (id):Observable<Voiture[]>{
   return this.http.get<Voiture[]>(this.url+'/'+id);
 }

但是,当我单击链接时,我会在正确的页面中重定向,并带有请求的数据,但出现错误:

  

类型错误TypeError:“ _co.voiture未定义”

1 个答案:

答案 0 :(得分:0)

尝试在定义时将数组初始化为“空”:

export class SingleVoitureComponent implements OnInit {

   voiture : Voiture[] = [];

...

您的组件可能会在您的get订阅返回并将this.voiture设置为一个值之前呈现。初始化voiture可以确保定义数组,即使它为空。

欢迎来到!