【发布时间】:2018-09-18 12:41:58
【问题描述】:
我尝试将 Openlayers 控件类扩展为 typescript 中的自定义类。即使在拨打super() 之后,我也无法访问超类方法,
import olControl from 'ol/control/control';
@Component({
selector: 'track-me',
template: require('./zoomhistory.html'),
//styles: [require('./map.scss')]
})
export class ZoomControl extends olControl {
static parameters = [];
constructor() {
let zoomCtrlButton = document.getElementById('trackme');
super({ element: zoomCtrlButton });
var self = this;
debugger;
self.setMap(this._map);
}
}
它会显示
property setMap() doesn't exist on type ZoomControl ,
那就不能编译了。但是当我将调试器放在this 上时,我可以从开发者控制台看到 setMap 方法。有什么解决方法吗?
【问题讨论】:
-
问题可能出在您导入的
olControl上。请将其添加到问题中。 -
导入控制没问题,因为我也可以创建该类的新实例。我已经更新了问题
-
我仍然无法重现该错误。如果您发布一个为您重现问题的存储库,我会查看它。
-
ol/control/Control 将匹配类型。
标签: typescript openlayers