【发布时间】:2021-04-11 01:14:51
【问题描述】:
在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参数抛出了intellisense错误,但是我本地没有代码,无法分享错误。
【问题讨论】:
-
另外,对于它的价值,在这里使用 OOP 和多态将大大简化您的代码。
标签: javascript angular typescript parameters arguments