Из библиотеки @ ctrl / ngx-codemirror, как получить экземпляр codeMirror с помощью typeScript и angular 5 - PullRequest
0 голосов
/ 01 июня 2018

Я использую оболочку code-mirror из https://github.com/TypeCtrl/ngx-codemirror

Я пытаюсь получить экземпляр Codemirror или Editor для редактирования некоторых действий, но я не могу получить экземпляр.

связанный вопрос: Получить экземпляр CodeMirror

Мне нужно добавить текст в текущей позиции курсора при нажатии кнопки, поэтому нужны API-интерфейсы CodeMirror.

1 Ответ

0 голосов
/ 21 августа 2018

Я решил это.Чтобы получить экземпляр, выполните следующие шаги:

import * as CodeMirror from 'codemirror';

Пометьте свой экземпляр зеркала кода в html-файле:

    <ngx-codemirror #codeeditor
                [(ngModel)]="somemodel"
                [options]="someoptions"
                [autoFocus]=true
                (change)="callBackFunc()"
                (cursorActivity)="functionCall()">
</ngx-codemirror>

Прочитайте экземпляр с помощью view-child

@ViewChild('codeeditor') private codeEditor;

Затем вы можете получить объект редактора в соответствующей функции:

const editor = this.codeEditor.codeMirror;
const doc = editor.getDoc();

Убедитесь, что вы не используете его в ngOnInit (), вместо этого используйте его в ngAfterViewInit () с setTimeOut ()так как редактор будет доступен для использования только после полной загрузки представления.

...