在 Typescript 中覆盖 Javascript 函数

Overwriting a Javascript function in Typescript

我正在使用 Angular 5 和打字稿,并将代码编辑器 codemirror 添加到我的页面中。

我想覆盖嵌套功能:Codemirror.hint.function

在 javascript 中看起来像:

Codemirror.hint.function = function(param) = {
...
}

我如何在打字稿中做到这一点?因为是嵌套的,所以不能定义简单的接口。

我想为这个编辑器定义一个自己的自动完成。

解决了:Codemirror 具体解决方法: 代码:stackblitz

你可以使用这个

Object.defineProperty(Codemirror.hint, 'function', {value: () => {/* your override */}});

尽管我非常怀疑对象是否可以具有 function 函数,因为它是 javascript 关键字。

EDIT 我不知道为什么或如何,但是你闪电战中的打字稿定义没有将 CodeMirror 声明为全局变量。可能是缩小,但我不会进一步搜索。

所以我在 index.html 中添加了带有 CDN 的脚本,现在可以使用了。

Here is the stackblitz.