如何在 Angular 上对 Codemirror 中的段落应用文本对齐?

How to apply text alignment to a paragraph in Codemirror on Angular?

在HTML中:

<codemirror 
 [(ngModel)]="chaptersService.currentChapter.novel" 
 [config]="{
  lineWrapping: true, 
  autofocus: true, 
  showCursorWhenSelecting: true
 }"
 #novelEditor>
</codemirror>

在component.ts中:

import { CodemirrorComponent } from 'ng2-codemirror';
...
@ViewChild('novelEditor') private novelEditor: CodemirrorComponent;
...
setTextCenter() {
 const cm = this.novelEditor.instance;
 const num = cm.getCursor().line;
 const lineHandle = cm.getLineHandle(num);
 cm.markText(
  {line: num, ch: 0},
  {line: num, ch: lineHandle.styles[1]},
  { css: 'text-align: center'}
 );
 this.refreshCodemirror();
}

我得到这样的结果:

我需要为 CodeMirror 行应用样式。还有其他方法可以实现吗?

我是这样解决这个问题的

setTextLeft() {
 const cm = this.novelEditor.instance;
 const num = cm.getCursor().line;
 cm.removeLineClass(num,'text');
 cm.addLineClass(num, 'text', 'lineTextLeft');
 this.refreshCodemirror();
}
setTextCenter() {
 const cm = this.novelEditor.instance;
 const num = cm.getCursor().line;
 cm.removeLineClass(num,'text');
 cm.addLineClass(num, 'text', 'lineTextCenter');
 this.refreshCodemirror();
}
setTextRight() {
 const cm = this.novelEditor.instance;
 const num = cm.getCursor().line;
 cm.removeLineClass(num,'text');
 cm.addLineClass(num, 'text', 'lineTextRight');    
 this.refreshCodemirror();
}

和 scss:

.CodeMirror-line {
  &.lineTextLeft {
    text-align: left;
  }
  &.lineTextCenter {
    text-align: center;
  }
  &.lineTextRight {
    text-align: right;
  }
}