ACE editor用作代码编辑器。 npm 包是 https://www.npmjs.com/package/ace-bui-6ren">
gpt4 book ai didi

javascript - ACE 编辑器 "Cannot read property ' getValue' of undefined"

转载 作者:行者123 更新时间:2023-11-30 11:02:44 26 4
gpt4 key购买 nike

我目前正在使用 Angular 构建一个 Markdown 编辑器。

codesandbox 可以在这里找到:https://codesandbox.io/embed/angular-91d27


问题是我正在尝试获取当前值以便进一步使用它。这个概念是,只要代码发生变化(onChange()),内容就会被放入 Angular 服务中。

出于测试目的,我想在更改时打印当前内容。

this.codeEditor.on("change", function(e) {
const code = this.codeEditor.getValue();
console.log(code);
});

现在,每当我输入内容时,我都会收到以下错误:

错误类型错误:无法读取未定义的属性“getValue”

如果之前有人遇到过这个问题,我很乐意提供帮助。
另外我想知道这是否是处理此问题的“正确方法”,或者是否有更好的选择。

最佳答案

每个新函数都定义了自己的 this 作用域。尝试使用 arrow functions反而。箭头函数在词法上绑定(bind)它们的上下文,因此 this 实际上指的是原始上下文。

this.codeEditor.on("change", (e) => {
const code = this.codeEditor.getValue();
console.log(code);
});

关于javascript - ACE 编辑器 "Cannot read property ' getValue' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56970253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com