>source

Angular , 다음과 같은 인터페이스가 있습니다.

export interface Vehicles {
    id: number;
    cars: Car;
    trucks: Truck;
}
Export interface Car {
    make: number;
    model: number;
}
Export interface Truck {
    make: number;
    model: number;
}

내 서비스에는 두 가지 기능이 있습니다. doCarMath()doTruckMath() API의 반환 값을 기반으로 계산을 수행합니다.

vehicleNumbers: Vehicles;
constructor(private http: HttpClient) {
    this.vehicleNumbers = {};
}
callID(id: string): Observable<Vehicles>{
    return this.http.get<Vehicles>(this.myURL+`/${id}`);
}
getMyCarNumbers(id) {
    this.callID(id).subscribe(results =>
    {
        this.vehicleNumbers = results;
    }
}
doCarMath(): number {
    return this.vehicleNumbers.car.make; / this.vehicleNumbers.car.model;
}
doTruckMath(): number {
    return this.vehicleNumbers.truck.make; / this.vehicleNumbers.truck.model;
}

결합하고 싶습니다 doCarMath()doTruckMath() 하나로 doMath() 다음 중 하나를 지정하는 인수를 전달하여 함수 car 또는 truck , 다음과 같이 :

doMath(p_vehicle): number {
    return this.vehicleNumbers.p_vehicle.make/this.vehicleNumbers.p_vehicle.model; // can p_vehicle be used here?
}

매개 변수를 어떻게 사용할 수 있습니까? p_vehicle 여기? 위의 내용은 인텔리전스 오류를 발생시킵니다. p_vehicle 매개 변수이지만 로컬에 코드가 없으며 (내 코드가 아님) 오류를 공유 할 수 없습니다.


  • 답변 # 1

    나는 이것이 일을 할 것이라고 생각합니다.

    doMath(p_vehicle): number {
        return this.vehicleNumbers[p_vehicle].make/this.vehicleNumbers[p_vehicle].model; 
    }
    
    

    그런 다음 함수를 호출하면 다음과 같습니다.

    doMath('car'); // or this.doMath('car');
    doMath('truck'); // or this.doMath('truck');
    
    

  • 이전 c - 두 번째 scanf가 첫 번째 scanf에 표시된 변량도 변경하는 이유는 무엇입니까?
  • 다음 node.js - 반응 네이티브 프로젝트 설치 오류