Мой * ngFor в моем списке ioni c сломан (ioni c 5, Angular 9) - PullRequest
0 голосов
/ 18 июня 2020

пытается извлечь данные из моего файла 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;
}

1 Ответ

1 голос
/ 18 июня 2020

Я думаю, что вы получили строковый объект json из подписки. попытайтесь утешить его. Если это так, то преобразовать в массив json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...