我正在构建PHP Symfony 4 + Vue.js应用程序。其中之一是文本编辑器,它可以记住文本中的所有编辑内容。我看到了在ACE编辑器中如何解决相同的问题-它们保存了每个字母,但我不需要这么精确。存储具有操作类型的子字符串就足够了。像这样:
{ action: add, from: 0, to: null, text: "New string" }
结果文本将为:“新字符串”。然后我改变了一些东西:
{ action: add, from: 3, to: 4, text: 'Delicious S' }
结果变成:“ New Delicious String”。通过将这样的“提交”与文本一起存储,我可以在一段时间内重建文本状态,直到申请所需的时间后,才会应用发布的提交。
我认为正确还是有更好的方法?
也许您知道一些有效的算法或数据结构来存储此类任务?
我应该使用文本中的哪些编辑坐标才能更有效地使用它们?