2018-08-19 11:24:03 +08:00
|
|
|
|
---
|
|
|
|
|
|
sidebar: auto
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2018-08-20 16:58:35 +08:00
|
|
|
|
# 数据持久化
|
2018-08-19 11:24:03 +08:00
|
|
|
|
|
2018-08-20 22:59:19 +08:00
|
|
|
|
D2Admin 对数据持久化做了更清晰的包装,您可以通过
|
2018-08-20 16:58:35 +08:00
|
|
|
|
|
|
|
|
|
|
## 公用存储
|
|
|
|
|
|
|
|
|
|
|
|
公用存储指所有用户共用的存储区域, 使用
|
|
|
|
|
|
|
|
|
|
|
|
``` 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 提供的两个方法, 总共只需要多写十几行代码。
|
|
|
|
|
|
|
|
|
|
|
|
## 私有路由快照
|
|
|
|
|
|
|
2018-08-20 22:59:19 +08:00
|
|
|
|
私有路由快照相当于私有路由存储一种快捷操作, 会将传入 vm 实例的 $data 全部根据用户区分持久化, 下面的表单来自 Element 的表单示例, 在 D2Admin 的本页示例中你可以随意填写这个表单, 表单内容会自动实时持久化, 无论是切换标签页、重新打开标签页、刷新浏览器、重开浏览器、重开浏览器标签页等, 该页面数据都会自动恢复到上次填写的状态, 这些都只需要你使用 D2Admin 提供的两个方法, 总共只需要多写十几行代码。
|
|
|
|
|
|
|