У меня есть код app-product.ts , написанный следующим образом:
@Component({
selector: 'app-product',
template: `
<div>
<h2>{{products.prod_name | uppercase}} Details</h2>
<div><span>Description: </span>{{products.prod_desc}}</div>
</div>`
})
export class ProductComponent {
products:any = [];
constructor(public rest: RestService){ this.getProducts() }
getProducts() {
this.products = [];
this.rest.getProducts().subscribe((data: {}) => {
console.log(data); // data is printing in console
this.products = data; // tried keeping debugger here
});
}
В приведенном выше коде я могу печатать данные в консоли, но переменные продукты не являютсядоступно в моем шаблоне.Я также пытался держать отладчик в точке и пытался напечатать продукты, но каждый раз он показывался как неопределенный.
Ниже приведен мой угловой сервисный файл для использования REST API с использованием Http Client, как показано ниже:
@Injectable({
providedIn: 'root'
})
export class CarApiService {
getProducts(): Observable<any> {
return this.http.get(endpoint + 'products').pipe(
map(this.extractData));
}
}
Я также попытался проанализировать, есть ли какие-либо проблемы с обратным вызовом в коде, но не смог понять, чтоявляется реальной причиной этой проблемы.
Я также пытался просмотреть несколько потоков, таких как: переменные компонента внутри функции RxJS subscribe () не определены , но не смогли найти никакой помощи.Может кто-нибудь помочь мне?