uniapp存值和取值方法

在UniApp中,可以使用全局变量、本地缓存和Vuex状态管理等方式来进行存值和取值。

  1. 全局变量:可以在App.vue文件的data中定义一个全局变量,在其他页面或组件中通过uni.$emit方法修改其值,并通过uni.$on方法监听值的变化。

    // App.vue
    export default {
    data() {
    return {
    globalData: {}
    }
    }
    }

    // 页面或组件中获取全局变量
    export default {
    computed: {
    globalData() {
    return this.root.globalData; } }, methods: { updateGlobalData() { this.root.globalData = { key: value };
    }
    }
    }

  2. 本地缓存:可以使用uni.setStorageSync方法将数据存储到本地缓存中,使用uni.getStorageSync方法从本地缓存中读取数据。

    // 存值
    uni.setStorageSync('key', 'value');

    // 取值
    const value = uni.getStorageSync('key');

  3. Vuex状态管理:UniApp内置了Vuex状态管理库,可以在store目录下创建模块文件进行状态管理。通过commit方法提交一个mutation来更新状态,并通过getters获取状态值。

    // store/module.js
    const state = {
    key: value
    };

    const mutations = {
    updateValue(state, payload) {
    state.key = payload;
    };

    const actions = {
    updateValue({ commit }, payload) {
    commit('updateValue', payload);
    }
    };

    const getters = {
    getValue(state) {
    return state.key;
    };

    export default {
    state,
    mutations,
    actions,
    getters
    };

    // 页面或组件中获取状态值
    import { mapGetters, mapActions } from 'vuex';

    export default {
    computed: {
    ...mapGetters(['getValue'])
    },
    methods: {
    ...mapActions(['updateValue'])
    }
    }

以上是UniApp中存值和取值的几种常用方式,你可以根据具体需求选择合适的方法来实现。

相关推荐
2501_915909062 小时前
HTTPS 错误解析,常见 HTTPS 抓包失败、443 端口错误与 iOS 抓包调试全攻略
android·网络协议·ios·小程序·https·uni-app·iphone
源码师傅6 小时前
uniapp开源多商户小程序商城平台源码 支持二次开发+永久免费升级
小程序·uni-app·多商户商城源码·uniapp开源商城源码·开源多商户小程序商城平台·商城小程序代码·多商户商城小程序源码
梦远青城7 小时前
C#地方门户网站 基于NET6.0、Admin.NET,uniapp,vue3,elementplus开源的地方门户网站项目
uni-app·开源·门户网站·地方生活网站·本地租房·本地找工作·东川本地生活
2501_9159090619 小时前
苹果上架App软件全流程指南:iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核技巧详解
android·ios·小程序·https·uni-app·iphone·webview
2501_9159214319 小时前
iOS 文件管理与能耗调试结合实战 如何查看缓存文件、优化电池消耗、分析App使用记录(uni-app开发与性能优化必备指南)
android·ios·缓存·小程序·uni-app·iphone·webview
小徐_233319 小时前
uni-app 也能使用 App.vue?wot-starter 是这样实现的!
前端·uni-app
2501_9159184120 小时前
App 苹果 上架全流程解析 iOS 应用发布步骤、App Store 上架流程
android·ios·小程序·https·uni-app·iphone·webview
哆啦A梦158820 小时前
uniapp分包实现
前端·vue.js·uni-app·vue3
2501_9160074720 小时前
苹果上架全流程详解,iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核要点完整指南
android·ios·小程序·https·uni-app·iphone·webview
jingling55521 小时前
uniapp | 实现微信小程序端的分包处理
微信小程序·小程序·uni-app