【问题标题】:applyDeltas in ACE editorACE 编辑器中的 applyDeltas
【发布时间】:2013-08-05 03:20:25
【问题描述】:

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

【问题讨论】:

    标签: ace-editor


    【解决方案1】:

    我当然已经找到答案了——

    applyDeltas(Object deltas) API 接受一个增量数组。将上面的示例代码更改为editor.getSession().getDocument().applyDeltas([currentDelta]) 可以正常播放。

    希望这对某人有所帮助。

    穆斯塔法

    【讨论】:

    • 我试过这个但我收到错误:未捕获的类型错误:无法读取未定义的 ace.js 4368 的属性“行”。我做错了什么?
    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多