4

我正在尝试在 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);
}
4

1 回答 1

5

我当然找到了答案——

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

希望这可以帮助某人。

穆斯塔法

于 2013-08-05T03:28:49.263 回答