界面上的有限状态机(六)

界面状态机本身不记录历史状态,如果需要查看状态的转换历史,或者需要回滚等功能,可以使用插件。如果在浏览器中使用,可以引用文件state-machine-history.js,并且在状态机定义时声明插件:

plugins: [
        new StateMachineHistory()     //  <-- plugin enabled here
      ]

这样,通过状态机的history属性,可以获取状态机的执行历史。如果需要限制历史记录数量,可以在声明时指定max参数,比如:

var fsm = new StateMachine({
    plugins: [
      new StateMachineHistory({ max: 100 })      //  <-- plugin configuration
    ]
  })

通过使用historyBack和historyForward可以回滚或重复流程状态的转换过程,所有转换相关的事件同样会被触发。可以通过canHistoryBack和canHistoryForward属性检测是否可以回滚或重做。

你可能感兴趣的:(界面上的有限状态机(六))