gpt4 book ai didi

angular - 类型 'coords' 上不存在属性 'MouseEvent'。在 Angular2-google-maps 标记事件中

转载 作者:太空狗 更新时间:2023-10-29 17:41:38 29 4
gpt4 key购买 nike

我添加了 angular2-google-maps map 的 mapClicked 事件。代码如下:

mapClicked($event: MouseEvent) {
this.markers.push({
lat: $event.coords.lat,
lng: $event.coords.lng,
draggable: false
});

我在使用“ionic serve”服务我的 ionic 2 应用程序时遇到编译时错误。

提前致谢,AB

最佳答案

这只是 Typescript 的提示,因为 default MouseEvent interface 没有 coords 属性,但是因为你使用的是 angular2-google-maps 你知道 coords 属性将在那里 ( ng2 google maps MouseEvent interface ) 因此您可以通过使用 any 而不是 MouseEvent 来避免编译时错误,如下所示:

mapClicked($event: any) {
this.markers.push({
lat: $event.coords.lat,
lng: $event.coords.lng,
draggable: false
});

编辑

正如 @Bruno Garcia 指出的那样,解决此问题的更好方法是从 AGM 库中导入正确的接口(interface)。这样您就可以为 MouseEvent 事件使用 IDE 的输入和自动完成功能。

但与其像他在回答中描述的那样导入 MouseEvent我更愿意使用别名,以避免与默认的 MouseEvent 接口(interface):

import { MouseEvent as AGMMouseEvent } from '@agm/core';

然后只需使用该别名:

mapClicked($event: AGMMouseEvent) { ... }

关于angular - 类型 'coords' 上不存在属性 'MouseEvent'。在 Angular2-google-maps 标记事件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453293/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com