in my Angular app i have a component:
import { MakeService } from './../../services/make.service'; import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-vehicle-form', templateUrl: './vehicle-form.component.html', styleUrls: ['./vehicle-form.component.css'] }) export class VehicleFormComponent implements OnInit { makes: any[]; vehicle = {}; constructor(private makeService: MakeService) { } ngOnInit() { this.makeService.getMakes().subscribe(makes => { this.makes = makes console.log("MAKES", this.makes); }); } onMakeChange(){ console.log("VEHICLE", this.vehicle); } }
but in the “makes” property I have a mistake. I dont know what to do with it…
Answer
I think you are using the latest version of TypeScript. Please see the section “Strict Class Initialization” in the link
.
There are two ways to fix this:
A. If you are using VSCode you need to change the TS version that the editor use.
B. Just initialize the array when you declare it inside the constructor,
makes: any[] = []; constructor(private makeService: MakeService) { // Initialization inside the constructor this.makes = []; }