簡體   English   中英

如何在 Typescript 代碼中覆蓋 Javascript 方法?

[英]How Do I override a Javascript Method In Typescript Code?

我正在使用 draw2d-js,其中我需要onMouseEnter()功能。 文檔建議我覆蓋onMouseEnter

  /**
     * @method
     * Callback method for the mouse enter event. Usefull for mouse hover-effects.
     * Override this method for your own effects. Don't call them manually.
     *
     * @template
     **/
    onMouseEnter: function()
    {
    },
    

我試過了:(文件:on_mouse_enter.ts):

const draw2d = require('draw2d');

export class CustomEdge extends draw2d.Figure {
  override onMouseEnter(): void {
    console.log('Mouse Entered');
  }
}


但是,我收到錯誤:

Error: src/library/onMouseEnter.ts:7:12 - error TS4113: This member cannot have an 'override' modifier because it is not declared in the base class 'any'.

7   override onMouseEnter(): void {
             ~~~~~~~~~~~~


只想覆蓋 draw2s 中的一種方法draw2s.Figure class: onMouseEnter()方法。

感謝您的幫助,@Silvio Mayolo。

最終解決方案如下所示:

// client, the caller
  let _customEdge = new CustomEdge();
  _customEdge.onMouseEnter(_con);

onMouseEnter的實現如下所示:

const draw2d = require('draw2d');

export class CustomEdge extends draw2d.Figure {
  onMouseEnter(_con: any): void {
    console.log('Mouse Entered');
    //_con.set
  }

function在鼠標進入屏幕指定區域時正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM