Giper Baza 是一个独立的、可选的项目——并不是 $mol 的内置组成部分。其作者将它描述为一个具有无冲突实时同步的去中心化高可用数据库:一个在本地持久化、无需中心服务器即可在客户端之间复制的 CRDT 存储,带有数字签名和端到端加密。构建 $mol 应用从不需要它;只有当多个客户端或设备必须共享同一份实时数据时才使用它。只是想让应用在没有网络时也能继续工作?那是纯粹的离线,$mol 用一个 service worker 来处理——参见 离线。Giper Baza 更进一步:在客户端之间同步数据,而不是缓存单个客户端的资源。当你确实用它来建模数据时,实体看起来就像普通的响应式属性,而复制自然而然地发生。本页介绍 API 的形态。Giper Baza 是一个大主题——请把这当作一张地图,而不是完整的疆域。
实体是一个纯模式——一组带类型的字段。把行为放在外面;在你的视图里做读取和写入。1namespace ${2export class $my_taskextends$giper_baza_entity.with({3Title:$giper_baza_atom_text,4Done:$giper_baza_atom_bool,5CreatedAt:$giper_baza_atom_time,6}){}7}每个字段都是一个原子——一个带类型值的已同步单元。
1@ $mol_action2task_add(title:string){3const task=this.tasks_list().make([[null,$giper_baza_rank_read]])!4task.Title(null)!.val(title)5task.Done(null)!.val(false)6}78@ $mol_action9task_remove(id:string){10this.tasks_list().cut(this.task(id).link())11}在 GitHub 上编辑此页这有帮助吗?是否上一页数据模式下一页展示本页内容定义一个实体读取与写入创建与删除同步是自动的接下来去哪儿?Type to search the documentation.