Dev*_*dra 5 apache-flex actionscript-3 flex4.5 flex4.6
如何在flex 4中实现撤消重做操作以维护历史记录?我正在使用flex UIComponent和DisplayObjects来创建和编辑图表,但在flex中,无法直接处理用户操作历史记录.有任何想法实现这一目标吗?
小智 5
您可以使用执行和撤消方法为所有操作实现命令模式,并将它们排队.
所以当用户想做某事时 - 让我们说创建一个AddFiveToTotal类并执行:
public method execute():void{
totalModel.add( 5 );
}
Run Code Online (Sandbox Code Playgroud)
然后将该类存储在FIFO队列中.
如果用户需要撤消该命令,则会弹出该命令并调用undo函数:
public method undo():void{
totalModel.subtract( 5 );
}
Run Code Online (Sandbox Code Playgroud)
对于可重做性,不要弹出,只是迭代队列
还可以看一下Memento Pattern
如果您正在使用任何当前流行的MVC(S)框架,您将无疑会找到一个已创建的工具库