--- sidebar: auto --- # 数据持久化 D2Admin 对数据持久化做了更清晰的包装,您可以通过 ## 公用存储 公用存储指所有用户共用的存储区域, 使用 ``` js await this.$store.dispatch('d2admin/db/database') ``` 获得存储实例进行操作。 ## 私有存储 私有存储指当前用户专用的存储区域, 不同用户之间存储不会相互干扰, 使用 ``` js await this.$store.dispatch('d2admin/db/database', { user: true }) ``` 获得存储实例进行操作, 不同用户条件下获取的存储实例指向位置不同。 ## 路由存储 路由存储指当前路由的存储区域, 不同路由之间存储不会相互干扰, 使用 ``` js await this.$store.dispatch('d2admin/db/databasePage', { vm: this }) ``` 获得存储实例进行操作, 不同路由条件下获取的存储实例指向位置不同, 可以指定路由区分依据 name | path | fullPath, 默认根据路由的 name 区分不同的路由。 ## 私有路由存储 私有路由存储指当前路由的存储区域, 并且同时还根据用户区分, 相当于结合了 “路由存储” 和 “私有存储”, 不同路由以及不同用户之间存储不会相互干扰, 使用 ``` js await this.$store.dispatch('d2admin/db/databasePage', { vm: this, user: true }) ``` 获得存储实例进行操作, 不同路由和用户条件下获取的存储实例指向位置不同, 可以指定路由区分依据 name | path | fullPath, 默认根据路由的 name 区分不同的路由。 ## 路由快照 路由快照相当于路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。 ## 私有路由快照 私有路由快照相当于私有路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部根据用户区分持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。