>source

각도 CRUD 작업에서 삭제 작업을 수행하려고 할 때 다음 오류가 표시됩니다. "ERROR in src/app/home/home.component.ts (29,37) : error TS2322 : Type 'Headers'is not assignable 'HttpHeaders | {[header : string] : string | string [];}'을 입력합니다. 'Headers'유형은 '{[header : string] : string | string [];}'유형에 할당 할 수 없습니다. 인덱스 서명은 다음과 같습니다. '헤더'유형에 누락되었습니다. ". 다음은 코드입니다.

import { Component, OnInit } from '@angular/core';
import { HttpClient, HttpResponse, HttpHeaders } from '@angular/common/http';  
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';
@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
  products: any[];
  constructor(private http: HttpClient) {}
  id: number;
  private headers = new Headers({ 'Content-Type': 'application/json'});
  //Url to fetch data: http://localhost:3000/products
  getData(){
    this.http.get("http://localhost:3000/products")
      .subscribe(response=>{
        this.products = response as any[];
      });
  }
  deleteProduct(id){
    if(confirm("Are you sure?")){
      const url = `${"http://localhost:3000/products"}/${id}`;
      return this.http.delete(url, {headers: this.headers}).toPromise()
        .then(()=>{
          this.getData();
        })
    }
  }
  ngOnInit() {
    this.getData(); 
  }
}

  • 답변 # 1

    오류 메시지에 명시된대로 예상 유형은 Headers가 아니라 HttpHeaders입니다.

    private headers = new HttpHeaders({ 'Content-Type': 'application/json'});
    
    

관련 자료

  • 이전 Unity3d 기반 프로젝트로 Xcode Objective-C IOS 게임 업그레이드
  • 다음 c++11 - 평가되지 않은 코드 C ++에서 오류를 피하려면 어떻게해야합니까?