是否可以使用JavascriptMVC实现撤消/重做引擎?
答案 0 :(得分:2)
可能。虽然我从未使用过JavascriptMVC,但以下是撤消工作的原理:
您可以将代码更改为“命令”对象中的内容,而不是直接更改任何内容。命令对象有两种方法:undo()
和redo()
。
执行操作时,您可以创建必要的命令对象,对它们调用redo()
并将它们添加到列表中(“撤消堆栈”)。
对于撤消,弹出列表中的项目并在其上调用undo()
并将其推送到“重做堆栈”。
对于重做,从“重做堆栈”弹出,调用redo()
并将项目推送到撤消堆栈。
无论您是在服务器上还是在客户端上执行此操作都无所谓,但我建议您选择一方并坚持使用它。
答案 1 :(得分:0)
你打算用它做什么?您可以使用它的历史插件而不是使用撤消/重做吗?这样,undo / redo将与前进和后退按钮一起使用。