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 に答える