我有一個打字稿接口:打字稿接口
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'僅指一種類型,但在這裏用作值。「 –
你真的有類嗎?這個構造函數的實現在哪裏? –
沒有實施。我如何在課堂上實現這個接口? –