有没有办法确定模型值是通过编程方式还是手动更改?

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

我正在使用 Monaco Editor 来完成我的 Angular 项目。我正在手动更改编辑器的模型 - 在网页上的编辑器中逐字输入,以及以编程方式向编辑器添加或删除字符串。我使用以下命令执行此操作:

this.editor.setValue(...);

this.editor.getModel().pushEditOperations(...)

我通过订阅此内容来检测模型值的变化

this.subsc = this.editor.getModel().onDidChangeContent((event: monaco.editor.IModelContentChangedEvent) => {
    console.log(event);
});

我需要做的是检测模型上的新更改,并确定更改最初是手动的还是编程的。最终目标是忽略程序更改。 此处描述了检测到的更改发出的事件:https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IModelContentChangedEvent.html

我考虑过以某种方式在模型更改中编码布尔标志,但这可能是不可能的。

我已经浏览了摩纳哥编辑器的 api 文档,但没有发现任何可以解决我的问题的方法。也许我错过了什么。这是 API 文档的根目录以供参考 https://microsoft.github.io/monaco-editor/api/index.html

monaco-editor
1个回答
0
投票

@Stephen George 你解决这个问题了吗?我遇到同样的问题。

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