我有一个打字稿接口:打字稿接口
export interface LatLng {
constructor(lat: number, lng: number): void;
lat(): number;
lng(): number;
}
和阵列与一类经纬度的:
path: Array<LatLng>;
我怎么能推元素这个数组?
我有一个打字稿接口:打字稿接口
export interface LatLng {
constructor(lat: number, lng: number): void;
lat(): number;
lng(): number;
}
和阵列与一类经纬度的:
path: Array<LatLng>;
我怎么能推元素这个数组?
实现接口
export class LatLngNew implements LatLng {
constructor(public lat: number, public lng: number) {}
}
你可以这样
this.path.push(new LatLngNew(2,3))
写你也可以这样定义
path: LatLng[];
数组类型。如果你只有一个接口,那么你不应该那里有constructor
,它应该是这样的:
export interface LatLng {
lat(): number;
lng(): number;
}
然后,您可以推动一个新的项目,像这样:
path.push({
lat: function() { return 0; },
lng: function() { return 0; },
});
您还可以创建一个工厂函数吧:
function createLatLng(lat: number, lng: number): LatLng {
return {
lat: function() { return lat; },
lng: function() { return lng; }
};
}
如果你想有一个类,那么你这样做像这样:
class LatLng {
constructor(private _lat: number, private _lng: number) {}
lat() {
return this._lat;
}
lng() {
return this._lng;
}
}
并推新实例像这样:
path.push(new LatLng(0, 0));
我没有创建这个接口。 https://angular-maps.com/api-docs/agm-core/interfaces/LatLng.html#source。但我需要将此接口用作类型并给出元素。 –
哦,它是一个现有的库,那么实现可能已经存在,你只是在谈论类型。由@alexKhymenko的其他答案应该为你工作,然后 –
通过@alexKhymenko不起作用。它显示错误:'''LatLng'仅指一种类型,但在这里用作值。“ –
你真的有类吗?这个构造函数的实现在哪里? –
没有实施。我如何在课堂上实现这个接口? –