ioni c 5: TypeError: Невозможно прочитать свойство 'подписка' из неопределенного - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть этот сервис в IONI C 5:


import { HttpClient } from '@angular/common/http';
.
.
.
getPlaces(placeId: string) {
return this.httpClient.get(
        `https://test.com/offered-place/${placeId}.json`)
}
.
.
.

В моем компоненте, когда я пытаюсь вызвать функцию сервиса may и подписаться на нее:


this.myService.getPlaces().subscribe(()=>{})...

Я получил ошибку: TypeError: Невозможно прочитать свойство 'subscribe' из неопределенного.


, но когда я пытаюсь подписаться в службе, она работает !!

ps:

  • IONI C 5

мой сервис внедряется в конструктор моего компонента (где я получил ошибку)

мой служба аннотирована:

@ Injectable ({предоставлено: 'root'})

  • Визуальный код IDE

Заранее спасибо

1 Ответ

0 голосов
/ 22 апреля 2020

В компоненте это не будет работать, потому что функция getPlaces требует placeID, а из компонента вы не отправляете значение в функцию при вызове

this.myService.getPlaces().subscribe(()=>{})...

, поэтому вы должны передать placeID в это и подписаться, добавив ссылку, как я написал результат. Теперь в результате у вас будут данные из API.

this.myService.getPlaces(placeID should be passed here).subscribe((result)=>{console.log(result);})...

и в сервисе добавьте Observale к функции

getPlaces(placeId: string): Observable<any> {
return this.httpClient.get(
        `https://test.com/offered-place/${placeId}.json`)
}
...