Javascript 在实现on change函数时,CodeMirror进入无限循环

Javascript 在实现on change函数时,CodeMirror进入无限循环,javascript,angularjs,codemirror,Javascript,Angularjs,Codemirror,我需要在CodeMirror编辑器中跟踪更改。因此,我实施了: CodeMirrorInstance.on("change", function(CodeMirrorInstance){ $scope.onChangeFunc(CodeMirrorInstance); } ); 在onChangeFunc中,我使用 CodeMirrorInstance.setValue(新代码) 显然,它导致了无限循环。如何打破这种恶性循环 setValue总是会触发另一个“更改”事

我需要在CodeMirror编辑器中跟踪更改。因此,我实施了:

CodeMirrorInstance.on("change", function(CodeMirrorInstance){
        $scope.onChangeFunc(CodeMirrorInstance);
    }  );
onChangeFunc
中,我使用

CodeMirrorInstance.setValue(新代码)


显然,它导致了无限循环。如何打破这种恶性循环

setValue
总是会触发另一个
“更改”
事件(毕竟它会更改内容)。您必须使您的更改处理程序足够聪明,以避免对您自己造成的更改进行额外更改。查看传递给
“change”
事件处理程序的第二个参数的
origin
属性可能会起作用——它包含一个标识更改源的sting,当调用
setValue
时,它将是
“setValue”

setValue
将始终触发另一个
更改
event(毕竟它改变了内容)。您必须使您的更改处理程序足够聪明,以避免对您自己造成的更改进行额外更改。查看传递给
“change”
事件处理程序的第二个参数的
origin
属性可能会起作用——它包含一个标识更改源的sting,当调用
setValue
时,它将是
“setValue”

您可以尝试changeObject,它是change event中的第二个参数。它有五个属性,您可以通过它们中断调用。您可以尝试changeObject,它是change事件中的第二个参数。它有五个属性,您可以通过它们中断调用。