与构造函数的Typescript接口 - 如何实现?

时间:2017-09-25 17:36:55

标签: angular google-maps typescript

我正在尝试使用暴露在界面下方的角度贴图库 this link

export interface LatLng {
  constructor(lat: number, lng: number): void;
  lat(): number;
  lng(): number;
}

我需要构造一个使用API​​的对象。 如何实施此界面?

2 个答案:

答案 0 :(得分:0)

我没有使用过这个库,但是如果你确定需要自己实例化这样一个对象,那么尝试一下:

function createLatLng(lat: number, lng: number): LatLng {
    return {
        lat: function() {
            return lat;
        },
        lng: function() {
            return lng;
        }
    } as LatLng;
}

let a = createLatLng(0, 0);
let b = createLatLng(10, -10);

如果没有将对象强制转换为LatLng,则无法真正实现接口,因为constructor部分应该是该类型的静态声明的一部分。

答案 1 :(得分:0)

为什么不创建一个组件(或只是一个类):

@Component({
    selector: 'SomeSpecific',
    styleUrls: ['./SomeSpecificComponent.component.css'],
    template: '<textarea>{{data?.text}}:{{data.value}}</textarea>'
})
export class SomeSpecificComponent implements LatLng {
   lat:number;
   lon:number
   constructor(lat: number, lng: number){
   }
   lat(){
      return lat;
   }
   lng()
      return lon;
   }
}

然后使用它:

new SomeSpecificComponent (0,0);