Store 状态管理

提供简单的状态管理功能,支持持久化存储和跨页面数据共享。

平台差异说明

平台 支持情况 使用方式
vue 页面 支持 可使用 this.$zk() 或 uni.$zk.getState()
nvue 页面 支持 只能使用 uni.$zk.getState()

基础用法

// Vue 页面中使用
export default {
    methods: {
        example() {
            // 获取当前是暗色还是亮色状态
            const theme = this.$zk('theme.mode')
			// 得到值 light 或 dark  
            
            // 设置为暗色状态
            this.$zkSet('theme.mode', 'dark', true) // 第三个参数为是否持久化
            
            // 批量设置
            this.$zkBatchSet({
                'theme.mode': 'dark',
                'language': 'zh-CN'
            })
            
            // 清除状态
            this.$zkClear(['theme.mode']) // 清除指定key
          
        }
    }
}

// Nvue 页面中使用
export default {
    methods: {
        example() {
            // 获取状态
            const theme = uni.$zk.getState('theme.mode', 'light')
            
            // 设置状态
            uni.$zk.setState('theme.mode', 'dark', true)
            
            // 批量设置
            uni.$zk.batchSetState({
                'theme.mode': 'dark',
                'language': 'zh-CN'
            })
            
            // 清除状态
            uni.$zk.clear(['theme.mode'])
     
        }
    }
}

API

Methods 方法

方法名 说明 参数 返回值
$zk / getState 获取状态值 key: string, defaultValue?: any any
$zkSet / setState 设置状态值 key: string, value: any, persist?: boolean void
$zkBatchSet / batchSetState 批量设置状态值 updates: Object void
$zkClear / clear 清除状态值 keys?: string[] void

注意事项