typescript:无法从派生类访问基类方法

时间:2018-09-18 12:41:58

标签: typescript openlayers

我试图将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方法。有什么解决方法吗?

1 个答案:

答案 0 :(得分:-1)

  • 确保在olControl中将“ setMap”定义为公共方法
  • 尝试以self[“setMap”](this._map)的身份访问此方法