[ANGULAR] "Type 'Object'는"새로운 HttpClient / httpGetModule을 사용하여 "유형에 할당 할 수 없습니다.
ANGULAR"Type 'Object'는"새로운 HttpClient / httpGetModule을 사용하여 "유형에 할당 할 수 없습니다.
해결법
-
1.당신은 실제로 여기에 몇 가지 옵션을 가지고 있지만, 제네릭을 사용하여 기대하는 유형으로 캐스팅하십시오.
당신은 실제로 여기에 몇 가지 옵션을 가지고 있지만, 제네릭을 사용하여 기대하는 유형으로 캐스팅하십시오.
// Notice the Generic of IUsers[] casting the Type for resulting "data" this.http.get<IUsers[]>(this.productUrl).subscribe(data => ... // or in the subscribe .subscribe((data: IUsers[]) => ...
또한 템플릿에서 ASYNC 파이프를 사용하는 것이 좋습니다. 특히 멋진 논리가 필요하지 않으면 자동 가입 / 수신 거부가 필요합니다.
users: Observable<IUsers[]>; // different type now this.users = this.http.get<IUsers[]>(this.productUrl); // template: *ngFor="let user of users | async"
-
2.나는 앵귤러 닥터 팀에 있고 하나의 열린 todo 항목은이 문서를 변경하여 HTTP ...에 액세스 할 수있는 "모범 사례"를 보여주기 위해서는 서비스를 통한 것입니다.
나는 앵귤러 닥터 팀에 있고 하나의 열린 todo 항목은이 문서를 변경하여 HTTP ...에 액세스 할 수있는 "모범 사례"를 보여주기 위해서는 서비스를 통한 것입니다.
다음은 예제입니다.
import { Injectable } from '@angular/core'; import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/throw'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/do'; import 'rxjs/add/operator/map'; import { IProduct } from './product'; @Injectable() export class ProductService { private _productUrl = './api/products/products.json'; constructor(private _http: HttpClient) { } getProducts(): Observable<IProduct[]> { return this._http.get<IProduct[]>(this._productUrl) .do(data => console.log('All: ' + JSON.stringify(data))) .catch(this.handleError); } private handleError(err: HttpErrorResponse) { // in a real world app, we may send the server to some remote logging infrastructure // instead of just logging it to the console let errorMessage = ''; if (err.error instanceof Error) { // A client-side or network error occurred. Handle it accordingly. errorMessage = `An error occurred: ${err.error.message}`; } else { // The backend returned an unsuccessful response code. // The response body may contain clues as to what went wrong, errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`; } console.error(errorMessage); return Observable.throw(errorMessage); } }
구성 요소는 다음과 같습니다.
ngOnInit(): void { this._productService.getProducts() .subscribe(products => this.products = products, error => this.errorMessage = <any>error); }
from https://stackoverflow.com/questions/45426907/type-object-is-not-assignable-to-type-with-new-httpclient-httpgetmodule by cc-by-sa and MIT license
'ANGULAR' 카테고리의 다른 글
[ANGULAR] Angular2의 행동, 작동 방식 및 사용 방법 (0) | 2020.11.27 |
---|---|
[ANGULAR] ANGLUR 2 렌더링 후 jQuery 호출 - API를 소비 한 후 (0) | 2020.11.27 |
[ANGULAR] Angular 2 Opaquetroken 대 각도 4 주입 (0) | 2020.11.27 |
[ANGULAR] 부트 스트랩은 Angular 6에 연결하지 않습니까? (0) | 2020.11.27 |
[ANGULAR] 템플릿을 innerhtml로 추가 할 때 각도 2 바인딩 / 이벤트가 작동하지 않습니다. (0) | 2020.11.27 |