У меня проблема с HttpParams
Здрасте. Проблема в том что в params переменной не хватает ключей.
консоль в коде должна вывести но выводит только филтер: { filter: 827364dsffjgdsf768, key: 'userId }
findTests = () => {
this.userId = this.test.userId;
this.testService.getTestsByParams(this.userId, 'userId').subscribe(
(req) => {
this.tests = req;
this.testsLoader = false;
},
(error) => {
this.testsLoader = false;
this.toastr.error('Не удалось загрузить тесты');
}
);
};
getTestsByParams = (filter: string, key?: string, limit?: number): Observable<Test[]> => {
let params = new HttpParams()
.set('filter', filter);
if (limit) {
params.set('limit', limit);
}
if (key?.length) {
params.set('key', key);
}
console.log(params); // {filter: level} а должен объект состоять из 2 ключей
return this.http.get<Test[]>(`/api/tests/`, { params });
}
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
let params = new HttpParams()
.set('filter', filter)
.set('limit', limit)
.set('key', key);
Или
let params = new HttpParams()
.set('filter', filter);
if (limit) {
params = params.set('limit', limit);
}
if (key?.length) {
params = params.set('key', key);
}