2014-11-03 4 views
0

CodeMirror 편집기에서 변경 내용을 추적해야합니다. 그래서 구현 : onChangeFunc에서변경 기능을 구현할 때 CodeMirror가 무한 루프가됩니다.

CodeMirrorInstance.on("change", function(CodeMirrorInstance){ 
     $scope.onChangeFunc(CodeMirrorInstance); 
    } ); 

내가

CodeMirrorInstance.setValue(newCode);

분명히이 무한 루프로 연결을 사용하여 조건에 새 값을 기준으로 삽입하나요. 이 악순환을 깨는 방법?

+0

change 이벤트에서 두 번째 매개 변수 인 changeObject를 시도 할 수 있습니다. 전화를 끊을 수있는 다섯 가지 속성이 있습니다. http://codemirror.net/doc/manual.html – Bala

답변

2

setValue은 항상 다른 "change" 이벤트를 트리거합니다 (결국 내용이 변경됩니다). 자신이 변경 한 내용을 추가로 변경하지 않도록 변경 핸들러를 영리하게 만들어야합니다. "change" 이벤트 핸들러에 전달 된 두 번째 인수의 origin 속성을 살펴보면 변경 소스 (setValue이 호출되었을 때 "setValue")를 식별하는 스팅이 포함될 수 있습니다.

관련 문제