王牌javascript编辑器多个实例
问题描述:
我正在使用一个接口,使用一个有向图来建模软件流水线,其中每个节点都有关联的元数据和(最相关的)一个可编辑的代码块。现在我使用ACE来实现许多代码友好的功能,但是一旦流水线达到一个相当低的复杂度门槛,ACE似乎就会陷入停顿,从而影响页面其余部分的响应能力。王牌javascript编辑器多个实例
眼下,这是发生了什么事,每当一个新的节点出台的相关部分:
view.codeDiv = d3.select('#code-section');
view.aceEditor = ace.edit('task-code');
view.aceEditor.setTheme("ace/theme/chrome");
view.aceEditor.getSession().setMode("ace/mode/ourMode");
view.aceEditor.getSession().on('change', function(e) {
if (view.model !== undefined &&
view.aceEditor !== undefined &&
view.model.get('cmd') !== view.aceEditor.getValue() &&
view.aceEditor.getValue() !== '') {
view.model.set('cmd', view.aceEditor.getValue());
}
});
我很担心的是,ACE会话没有有朝一日能关闭,不互相打好。我正在试验不同的时机来宣布它们“不可编辑”,并希望减少它们的内存需求,但更大的用户界面结构使得这很难。有没有其他人试图改善多个活动ACE实例的性能?