Ana*_*mal 4 typescript ionic-framework ionic2 ionic3 angular
我添加了angular2-google-maps地图的mapClicked事件.代码如下:
mapClicked($event: MouseEvent) {
this.markers.push({
lat: $event.coords.lat,
lng: $event.coords.lng,
draggable: false
});
Run Code Online (Sandbox Code Playgroud)
}
我在使用"离子服务"服务我的离子2应用程序时遇到编译时错误.
在此先感谢,AB
seb*_*ras 19
这只是Typescript抱怨,因为默认的MouseEvent接口没有coords属性,但是因为你正在使用angular2-google-maps你知道coords属性将在那里(ng2谷歌地图MouseEvent接口)所以你可以通过使用any而不是使用而不是编译时错误MouseEvent像这样:
mapClicked($event: any) {
this.markers.push({
lat: $event.coords.lat,
lng: $event.coords.lng,
draggable: false
});
Run Code Online (Sandbox Code Playgroud)
编辑
就像@Bruno Garcia指出的那样,解决这个问题的更好方法是从AGM库导入适当的接口.这样,您就可以使用IDE的类型和自动完成功能来完成该MouseEvent事件.
但是我没有MouseEvent像他在答案中描述的那样导入,而是更喜欢使用别名,以避免与默认的MouseEvent接口混淆:
import { MouseEvent as AGMMouseEvent } from '@agm/core';
Run Code Online (Sandbox Code Playgroud)
然后只使用该别名:
mapClicked($event: AGMMouseEvent) { ... }
Run Code Online (Sandbox Code Playgroud)