微信小程序中全局共享数据globalData的使用

1.全局共享数据

全局共享数据的两种方式

  • 通过Vue原型共享数据
  • 通过globalData共享数据
  • vuex
  • 本地存储

1)在Vue实例原型属性上添加属性,其他任何页面预想使用,直接使用this获取到,
比如:
主要代码:(在入口文件mian.js中)

import request from './utils/request'
Vue.prototype.request=request;

在这里插入图片描述
2)通过globalData的方式
说明:小程序有globalData,这是一个简单的全局变量机制.这套机制在uni-app中也可以使用,并且全端使用
在这里插入图片描述
在这里插入图片描述
官网介绍:https://uniapp.dcloud.io/collocation/App?id=globaldata
在这里插入图片描述
说明:
在应用vue中定义globalData的相关配置:

<script>  
    export default {  
        globalData: {  
            text: 'text'  
        }
    }  
</script>

在js中操作globalData的方式如下:

getApp().globalData.text='test'
注意:
  • 在应用App.vueonLaunch时,getApp对象还未获取,暂时可以使用this.$scope.globalData获取globalData
  • 如果需要把globalData的数据绑定在页面上,可在页面的onShow页面生命周期里进行变量赋值

举例1:

  • 首先,我在应用App.vue中定义了一个全局变量dataTest,并赋值为dataText

在这里插入图片描述

  • 然后我在album页面的生命周期函数onShow中对其进行更改即重新赋值为changeText,然后再mine页面中进行输出
    在这里插入图片描述
  • 结果如下输出changeText
    在这里插入图片描述
注意:

想要在mine页面获取到album页面更改的全局数据,也是先创建了album页面,才能触发这个全局数据的值更新
如果你没有点击到album页面(此时album页面组件并没有被创建,所以全局数据是没有发生变化的,那么在mine页面输出的仍是在应用App.vue中定义的初始值为dataText

举例2:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值