我对这段代码有疑问,但是它给了我回报,但事实证明有人说我的汽车对象没有定义
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未定义”
答案 0 :(得分:0)
尝试在定义时将数组初始化为“空”:
export class SingleVoitureComponent implements OnInit {
voiture : Voiture[] = [];
...
您的组件可能会在您的get订阅返回并将this.voiture
设置为一个值之前呈现。初始化voiture
可以确保定义数组,即使它为空。
欢迎来到!