пытается извлечь данные из моего файла db. json и затем заполнить список. Когда я просто записывал данные в консоль при загрузке страницы, все работало нормально, но теперь я получаю эту ошибку:
Ошибка при попытке сравнить '[object Object]'. Разрешены только массивы и итерации.
Я думал, что использую массив заданий из моего файла .ts, но, видимо, нет, код ниже:
соответствующий html (задание в двойном фигурные скобки не дополняются автоматически в моем интерфейсе)
<ion-list inset="true">
<ion-item *ngFor="let job of jobs"> {{job.type}} </ion-item>
search-jobs.page.ts
import { JobService } from './../../services/job.service';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-search-jobs',
templateUrl: './search-jobs.page.html',
styleUrls: ['./search-jobs.page.scss'],
providers: [JobService]
})
export class SearchJobsPage implements OnInit {
public jobs = [];
constructor(private jobService: JobService) {
}
claim(){
console.log("claimed");
}
ngOnInit() {
this.jobService.getLocalData().subscribe(data => this.jobs = data);
}
}
job.service.ts
import { Observable } from 'rxjs';
import { Job } from './../models/job';
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class JobService {
private url: string = "/assets/data/db.json";
constructor(private http: HttpClient) { }
getLocalData(): Observable<Job[]> {
return this.http.get<Job[]>(this.url);
}
}
job.ts (мой интерфейс)
jobId: number;
seekerId: number;
providerId: number;
type: string;
city: string;
address: string;
estimate: number;
duration: string;
description: string;
completed: boolean;
}