bravf / undojs

无侵入的状态前进后退管理器,主要原理通过 Proxy 来劫持数据变化

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  • 无侵入的状态历史管理器
import { undo } from './undo.js'
let data = {
  a: 1,
  b: [1,2,3],
}
data = undo.watch(data)
  .on('push', (updaters) => console.log('undo push', updaters))
  .on('go', (updaters) => console.log('undo go', updaters))
  .on('back', (updaters) => console.log('undo back', updaters))
  .getData()
data.a = 2
data.b.push({hello: 'world'})
undo.push() // 记录一个历史
undo.back() // 回退一个历史
undo.go()   // 前进一个历史

About

无侵入的状态前进后退管理器,主要原理通过 Proxy 来劫持数据变化


Languages

Language:JavaScript 94.8%Language:HTML 5.2%