在Typescript中覆盖Javascript函数

时间:2018-03-16 13:35:29

标签: angular typescript codemirror

我正在使用Angular 5和typescript,并在我的页面中包含代码编辑器 codemirror

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

在javascript中看起来像:

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

我怎样才能在打字稿中这样做?因为它是嵌套的,所以我无法定义一个简单的接口。

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

解决了它:Codemirror特定解决方案:代码:stackblitz

1 个答案:

答案 0 :(得分:1)

您可以使用此

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

虽然我非常怀疑一个对象可以有一个function函数,因为它是一个javascript关键字。

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

所以我在index.html添加了带有CDN的脚本,现在它可以工作了。

<强> Here is the stackblitz.