All we need is an easy explanation of the problem, so here it is.
My code looks like :
$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);
};
And:
<div class="container fade-in" style='padding: 4em;'>
<div>
ui-ace="{onLoad : loadAceJSExample,
onChange : aceJSExampleChanged,
useWrapMode : true,
theme : 'github',
showGutter: true,
mode: 'javascript'
}" />
I tried calling _editor.getSession().removeMarker(); but did not help
Every time i refresh it looks like this,once i click in it returns to normal:
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
Method 1
Use _editor.session.setValue($scope.aceIDEs);
which also resets undomanager.
Alternatively you can use _editor.setValue($scope.aceIDEs, cursorPos);
. where cursorPos=-1
puts cursor at start and cursorPos=1
at the end.
Or call _editor.clearSelection()
after setting value.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0