# Pinia
# 快速开始
import {
createPinia,
Pinia
} from 'pinia'
import persistedstate from 'pinia-plugin-persistedstate' /* 持久化插件 */
export const pinia: Pinia = createPinia()
pinia.use(persistedstate)
# 创建模块
- 使用 OptionsApi 创建
import { defineStore } from 'pinia'
export const useMenuStore = defineStore('menu', {
state() {
return {
menus: []
}
},
actions: {
setMenu(router: any[]) {
// 使用 this 访问 state 上的数据
this.menuRouter = router
}
},
persist: [{
// ...
}]
})
- 使用 CompsitionApi 创建
import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
export const useMenuStore = defineStore('menu', () => {
const rawMenus = ref<any[]>([])
const menus = computed(() => menus)
function getMenus() {
// ...
}
return {
menus,
rawMenus,
getMenus
}
},
{
persist: {
// ...
}
})