Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 王牌编辑“;无法读取属性';getValue';“未定义”的定义;_Javascript_Angular_Typescript_Ace Editor - Fatal编程技术网

Javascript 王牌编辑“;无法读取属性';getValue';“未定义”的定义;

Javascript 王牌编辑“;无法读取属性';getValue';“未定义”的定义;,javascript,angular,typescript,ace-editor,Javascript,Angular,Typescript,Ace Editor,我目前正在Angular中构建一个标记编辑器 用作代码编辑器 npm包是 可在此处找到codesandbox: 问题是我试图获取当前值,以便进一步使用它。 其概念是,只要代码发生更改(onChange()),内容就会被放入一个角度服务中 出于测试目的,我想在更改时打印当前内容 this.codeEditor.on("change", function(e) { const code = this.codeEditor.getValue(); console.log(code

我目前正在Angular中构建一个标记编辑器

  • 用作代码编辑器
  • npm包是
可在此处找到codesandbox:


问题是我试图获取当前值,以便进一步使用它。 其概念是,只要代码发生更改(
onChange()
),内容就会被放入一个角度服务中

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

this.codeEditor.on("change", function(e) {
    const code = this.codeEditor.getValue();
    console.log(code);
});
现在,每当我键入内容时,都会出现以下错误:

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

如果有人以前遇到过这种情况,我很乐意提供帮助。

我还想知道这是否是处理这个问题的“正确方法”,或者是否有更好的选择。

每个新函数都定义了自己的
范围。试着改用。箭头函数在词汇上绑定其上下文,因此
实际上指的是原始上下文

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

所以在原始版本中,它看起来像新函数中的
getValue()
方法?由于
指的是新功能。箭头函数不会创建自己的作用域。哇,谢谢。我现在不能接受。但我会尽快的,不客气。如果这个答案有助于你将其标记为正确答案:)这个问题太新了。我会尽快的。谢谢。很高兴我能提供帮助:)您是如何获得代码编辑器实例的?是打字的吗?如果是,请您如何评论?