2014-02-26 6 views
5

Mein Code sieht so aus:Warum lädt Ace-Editor mit allen markierten Text und wie man es entfernt?

$scope.aceIDEs='var hw = new function() {\n console.log("Hello world!");\n}' 

$scope.loadAceJSExample = function (_editor) { 
_editor.setValue($scope.aceIDEs); 
_editor.getSession().setUseWorker(false); 
_editor.setHighlightActiveLine(true); 
}; 

Und:

<div class="container fade-in" style='padding: 4em;'> 
<div> 
     ui-ace="{onLoad : loadAceJSExample, 
     onChange : aceJSExampleChanged, 
     useWrapMode : true, 
     theme : 'github', 
     showGutter: true, 
     mode: 'javascript' 

    }" /> 

I _editor.getSession() versucht Aufruf removeMarker();. aber nicht helfen

Jedes Mal wenn ich aktualisieren sieht es so aus, sobald ich klicken in es wieder normal: Before i click

Antwort

5

Verwenden _editor.session.setValue($scope.aceIDEs); die auch UndoManager zurücksetzt. Alternativ können Sie _editor.setValue($scope.aceIDEs, cursorPos); verwenden. wo cursorPos=-1 setzt den Cursor am Anfang und cursorPos=1 am Ende. Oder rufen Sie _editor.clearSelection() nach dem Einstellen des Wertes.

+1

_editor.session.setValue ($ scope.aceIDEs); Danke. –