Я сталкиваюсь с какой-то странной (для меня) проблемой с объектами и типами в машинописи / угловых.
У меня есть некоторый класс, описывающий мои объекты, полученные из удаленного API:
export class Point {
lat:number;
lng:number;
name:string;
public doSomething() {
console.log("doSomething called");
}
}
Я использую HttpClient
для получения объектов из API:
constructor(private http:HttpClient) {}
getPointsAsync(callback: (points: Point[]) => {}) {
this.http.get<Point[]>(`${environment.apiUrl}/api/points`)
.subscribe(
(result: Point[]) => {
//do something with data
callback(result);
},
error => { //some error handling
}
);
}
Моя проблема в том, что когда я пытаюсь вызвать метод doSomething
для одной из моих точек из массива
var firstPoint = points[0];
firstPoint.doSomething()
Я получаю странную ошибку на консоли:
ERROR TypeError: firstPoint.doSomething is not a function
Я не использую Typescript и Angular очень долго, поэтому я предполагаю, что с моим кодом что-то не так, но я не смог найти ответмоя проблема.Не могли бы вы дать мне совет?