Warum wird der Ace-Editor geladen, wobei der gesamte Text hervorgehoben ist, und wie kann man ihn entfernen?

StackOverflow https://stackoverflow.com//questions/22039568

Frage

Mein Code sieht so aus:

$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'

    }" />

Ich habe versucht, _editor.getSession().removeMarker();hat aber nicht geholfen

Jedes Mal, wenn ich aktualisiere, sieht es so aus, sobald ich darauf klicke, ist es wieder normal:Before i click

War es hilfreich?

Lösung

Verwenden _editor.session.setValue($scope.aceIDEs); Dadurch wird auch der Undomanager zurückgesetzt.Alternativ können Sie verwenden _editor.setValue($scope.aceIDEs, cursorPos);.Wo cursorPos=-1 setzt den Cursor an den Anfang und cursorPos=1 Am Ende.Oder anrufen _editor.clearSelection() nach dem Einstellen des Wertes.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top