是否可以使用JavascriptMVC实现撤消/重做引擎?

时间:2009-08-18 12:28:12

标签: undo-redo javascriptmvc

是否可以使用JavascriptMVC实现撤消/重做引擎?

2 个答案:

答案 0 :(得分:2)

可能。虽然我从未使用过JavascriptMVC,但以下是撤消工作的原理:

  1. 您可以将代码更改为“命令”对象中的内容,而不是直接更改任何内容。命令对象有两种方法:undo()redo()

  2. 执行操作时,您可以创建必要的命令对象,对它们调用redo()并将它们添加到列表中(“撤消堆栈”)。

  3. 对于撤消,弹出列表中的项目并在其上调用undo()并将其推送到“重做堆栈”。

  4. 对于重做,从“重做堆栈”弹出,调用redo()并将项目推送到撤消堆栈。

  5. 无论您是在服务器上还是在客户端上执行此操作都无所谓,但我建议您选择一方并坚持使用它。

答案 1 :(得分:0)

你打算用它做什么?您可以使用它的历史插件而不是使用撤消/重做吗?这样,undo / redo将与前进和后退按钮一起使用。