我试图将更改操作保存在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)
我当然找到了答案-
该applyDeltas(Object deltas)
API需要增量的阵列。更改上面的示例代码以editor.getSession().getDocument().applyDeltas([currentDelta])
正确播放。
希望这对某人有帮助。
穆斯塔法