我需要跟踪CodeMirror编辑器中的更改。所以我实施了:
CodeMirrorInstance.on("change", function(CodeMirrorInstance){
$scope.onChangeFunc(CodeMirrorInstance);
} );
在onChangeFunc
中,我使用
CodeMirrorInstance.setValue(newCode);
显然它会导致无限循环。如何打破这种恶性循环?
答案 0 :(得分:3)
setValue
将始终触发另一个"change"
事件(毕竟它会更改内容)。您必须使您的更改处理程序足够聪明,不会对您自己造成的更改造成其他更改。查看传递给origin
事件处理程序的第二个参数的"change"
属性可能有效 - 它包含一个标识变更源的sting,"setValue"
时setValue
1}}被召唤。