首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在类型记录代码中重写Javascript方法?

如何在类型记录代码中重写Javascript方法?
EN

Stack Overflow用户
提问于 2022-08-05 21:44:44
回答 1查看 38关注 0票数 1

我正在使用draw2d-js,其中我需要onMouseEnter()功能。文档建议我重写onMouseEnter

代码语言:javascript
复制
  /**
     * @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()
    {
    },

我尝试过:(file: on_mouse_enter.ts):

代码语言:javascript
复制
const draw2d = require('draw2d');

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

但是,我得到了错误:

代码语言:javascript
复制
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.Figure类中的一个方法:onMouseEnter()方法。

EN

回答 1

Stack Overflow用户

发布于 2022-08-09 21:07:58

谢谢你的帮助,@Silvio Mayolo。

最终解决方案如下所示:

代码语言:javascript
复制
// client, the caller
  let _customEdge = new CustomEdge();
  _customEdge.onMouseEnter(_con);

onMouseEnter的实现如下所示:

代码语言:javascript
复制
const draw2d = require('draw2d');

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

当鼠标进入屏幕上指定的区域时,该函数将正确工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73255562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档