如何清除现有模型,或者有没有办法重新初始化摩纳哥编辑器

hua*_*eng 4 monaco-editor angular ngx-monaco-editor

我正在使用 ngx-monaco-editor 在模态中实现代码编辑器。因为需要支持多个tab,所以需要为models准备一个map来记住带有Uris的models。模态也可以在关闭后重新打开。

问题:一旦我重新打开模态并选择以前打开的文件,它会抛出错误:

Cannot add model because it already exists
Run Code Online (Sandbox Code Playgroud)

我不确定为什么 ngx-monaco-editor 在组件被销毁后不会销毁模型。

有没有办法在关闭模态之前手动清除这些模型。

hua*_*eng 6

下面的方法是我到目前为止找到的方法:

monaco.editor.getModels().forEach(model => model.dispose());
Run Code Online (Sandbox Code Playgroud)

获取所有模型并在组件销毁方法中调用其处理方法。