ACE编辑器中的applyDeltas

Mus*_*idd 4 ace-editor

我试图将更改操作保存在Ace编辑器中,然后进行回放。下面有一些伪代码-要点是applyDeltas API对于我的编辑器似乎没有任何作用。我绑定到编辑器更改事件,将更改增量推入数组,然后稍后尝试播放-运行以下代码时看不到任何错误,但是我也看不到编辑器内容更改。

谢谢
穆斯塔法

shouldRecord = true;
myStoredArray = new Array();
editor.on('change', function(e) {
    if(shouldRecord) {
      myStoredArray.push(e.data);
    }
});


//on a button click 
shouldRecord = false;
editor.getSession().setValue('');  //clear
for(var currentDelta in myStoredArray) {
    editor.getSession().getDocument().applyDeltas(currentDelta);
}
Run Code Online (Sandbox Code Playgroud)

Mus*_*idd 5

我当然找到了答案-

applyDeltas(Object deltas)API需要增量的阵列。更改上面的示例代码以editor.getSession().getDocument().applyDeltas([currentDelta])正确播放。

希望这对某人有帮助。

穆斯塔法