Atom操作编辑器DOM



我正试图为atom编写一个插件,但我采用的方法肯定是错误的。我试图将新的类添加到编辑器的某些元素中,这在最初是有效的,但在滚动之后,DOM会被重写,类也会被删除。将更改持久化到编辑器DOM的正确方法是什么?

function manipulateEditor({shadowRoot}) {
  const elements = shadowRoot.querySelectorAll('.brace');
  for (let i = 0; i < elements.length; i++) {
    let {classList} = elements[i];
    classList.add('my-class');
  }
}
atom.workspace.observeTextEditors(editor => {
  const view = atom.views.getView(editor);
  const manipulate = manipulateEditor.bind(null, view);
  editor.onDidStopChanging(manipulate);
  manipulate();
}

看起来我应该使用装饰API。

https://discuss.atom.io/t/keep-mutated-dom-on-scroll/23553/2

最新更新