Angular 撤销重做历史存储 | ng-hub-ui-history
Angular 撤销和重做历史存储,提供对 Signals 友好的 API、事务、限制以及响应式表单支持。
概览
团队为何搜索这个库
当你需要在复杂状态上实现撤销和重做,又不想引入一个完整的外部状态库时,请使用这个 Angular 历史存储。
安装
npm install ng-hub-ui-history跳转到
适用于
- 编辑器
- 表单构建器
- low-code 工具
- 配置界面
关于 history
ng-hub-ui-history 在 Angular 编辑器、表单构建器和配置页面中尤为有用,这些场景下用户期望能安全地回退。它为有状态的工作流带来撤销和重做模式,而无需你做出沉重的架构决策。
功能指南
手动提交与时间旅行
跟踪状态变化,并在线性历史中向后/向前穿梭。
示例:
Basic History
Manual commit, undo and redo.
{
"title": "Getting Started with History",
"description": "Edit and commit to create undo/redo entries."
}嵌套对象与数组
对深层对象图和列表变更使用基于补丁的跟踪。
示例:
Nested Object History
Nested properties and dynamic list updates.
{
"id": "invoice-1",
"customer": {
"name": "Acme Corp",
"city": "Madrid"
},
"lines": [
{
"name": "Support plan",
"quantity": 1,
"unitPrice": 150
}
]
}自动表单跟踪
借助内置的 watch 辅助器自动提交表单值的变化。
示例:
Reactive Form Watch
watchForm() for automatic commits from FormGroup.
{
"name": "Maria",
"email": "maria@demo.local",
"role": "Editor"
}事务与保留策略
可将多个操作合并为一条记录,并按配置的限制裁剪旧记录。
示例:
Transactions + Limits
Consolidated commits and FIFO retention.
Pointer: -1 / Entries: 0 / Bytes: 0
{
"id": "transaction-editor",
"title": "Release notes draft",
"content": "Initial draft content.",
"tags": [
"draft"
]
}核心特性
最近更改
Version 0.1.0 - 2/23/26, 12:00 AM
added: Initial release with multi-object linear history.
added: Undo/redo, transactions, and maxEntries/maxBytes retention limits.
added: Reactive Forms auto-commit integration via watchForm().