4

私も Ace エディターの 2 つのインスタンスを同期させようとしています。したがって、ユーザーが一方を入力すると、もう一方が更新されます。

彼らのドキュメントを見ると、EditSession changeイベントは変更のデルタを返し、DocumentにはapplyDeltasメソッドがあることがわかります。

だから私はその変更イベントにフックし、それが発生したときに他の document.applyDeltas を呼び出して渡しましたが、機能しません。

私は彼らのドキュメント (および Google を 1 時間) 探し回っていますが、同期を維持する方法がわかりません。どうすればそれができるか知っている人はいますか?

4

2 に答える 2

4

わかりました、私はそれを理解しました。srcを見ることに勝るものはありません:)

ドキュメントの applyDeltas メソッドには配列が必要であり、かつ変更イベントからデータを取得する必要があります。

//on editor1.change
this.handleEditor1Changed = function (e) {
    var deltas = new Array();
    deltas[0] = e.data;
    this.editor2.getSession().getDocument().applyDeltas(deltas);
};
于 2013-09-19T21:19:32.347 に答える