Тип 'Observable <Object>' нельзя назначить типу 'any []'.Свойство «include» отсутствует в типе «Observable <Object>» - PullRequest
0 голосов
/ 01 июня 2018

, пожалуйста, помогите, ребята, эта ошибка возникает, когда я пытаюсь сделать http-запрос

. Это сервис, который я создал:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class EmployeeService {

private _url: string = "/assets/data/employee.json";

constructor(private http : HttpClient) { }

getEmployee () {
  return this.http.get(this._url);
}
}

. Это один из компонентов, на которые я подписал сервис.:

import { Component, OnInit, Input, EventEmitter, Output  } from 
'@angular/core';
import { EmployeeService } from '../employee.service';

@Component({
  selector: '.app-test',
  template: `
    <h2>Employee List</h2>
    <ul *ngFor="let employee of employeeList">
      <li>{{employee.name}}</li>
    </ul>
  `,
 styles: [`

`]
})
export class TestComponent implements OnInit {

public employeeList = [];


@Output() public childEvent = new EventEmitter();

constructor(private _employeeService : EmployeeService) { }

fireEvent() {
  this.childEvent.emit('hey Omar');
}
ngOnInit() {
  this.employeeList = this._employeeService.getEmployee();
}
}

это ошибка из кода:

Типу "Наблюдаемый" нельзя присвоить типу "любой []".
Свойство "include" равноотсутствует в типе «Наблюдаемый».

введите описание изображения здесь

1 Ответ

0 голосов
/ 01 июня 2018

http.get возвращает наблюдаемое.

Вам нужно получить данные внутри функции обратного вызова.

this._employeeService.getEmployee()
  .subscribe(data => {
      this.employeeList = data;
    });

Также вы можете инициализировать как угодно, чтобы увидеть, что вы получаете.Скорее всего, вы получаете объект, поэтому вы можете начать с

employeeList: any;

Если это массив, тогда вы захотите изменить свой http-запрос, чтобы отразить его

, т.е.

this.http.get<employee_type>(this._url)
...