Angular v13, не отрабатывает вызываемый http метод из сервиса
Из HTML компонента вызываю метод в сервисе: <button (click)="myService.addData(item)"></button>
В сервисе:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { map, Observable } from 'rxjs';
@Injectable({
providedIn: 'root',
})
export class MyService {
private httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json'}),
}
constructor (
protected http: HttpClient,
) {}
addData(item: Item): Observable<Item> {
console.log(item) // Отрабатывает
return this.http.post<Item>('/api/v1/add-item', item, this.httpOptions); // Метод не вызывается
}
}
Подскажите в чем проблема?
Ответы (1 шт):
Автор решения: xzdwq
→ Ссылка
Надо было подписаться на вызываемый метод из сервиса, чтобы инициировать вызов.
Вызывать метод не напрямую из сервиса, а из компонента: <button (click)="addData(item)"></button>
В компоненте:
addPeriod (item: Item): void {
this.myService.addPeriod(item)
.subscribe(params => {
console.log(params)
});
}