从@ ctrl / ngx-codemirror库,如何使用typeScript和angular 5获取codeMirror实例

问题描述 投票:2回答:1

我正在使用https://github.com/TypeCtrl/ngx-codemirror的代码镜像包装器

我试图获取Codemirror或编辑器的实例来编辑一些操作,但我无法获取实例。

相关问题:Get CodeMirror instance

我需要在单击按钮时在当前光标位置添加文本,因此需要CodeMirror API。

typescript angular5 codemirror
1个回答
1
投票

我解决了这个问题。按照以下步骤获取实例:

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()中使用它,而是在带有setTimeOut()的ngAfterViewInit()中使用它,因为编辑器只有在视图完全加载后才可以使用。

© www.soinside.com 2019 - 2024. All rights reserved.