微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法

这篇具有很好参考价值的文章主要介绍了微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

globalData和storage的区别

一、app.globalData 是全局变量,下次进入的时候,就要重新获取,一般用于:

1、保存一些可能涉及安全类的数据,例如资源类,每次需要很准确的,就建议用全局变量。

2、全局变量每次关闭小程序重新打开的时候,都会进行初始化更新。

二、缓存(StorageSync)本地存储,storage 更像是本地的数据库,可以保存更久,一般用于:

1、小程序中的本地存储有同步功能,可用于保存用户信息(用户登录后的一些基本信息)

2、缓存的更新需要使用setStorageSync方法。

globalData的用法

app.js中

app.globalData初始化数据,在app.js中,入口js中,

App({
    onLaunch: function() {
    },
    onShow: function(options) {
    },
    onHide: function() {},
    getUserInfo: function(cb) {},
    globalData: {
        changeshop: null
    }
})

app.globalData 存储数据

const app = getApp();
//缓存全局保存
app.globalData.changeshop = changeshop;

在需要使用的地方

const app = getApp()
let changeshop = app.globalData.changeshop;
if (changeshop) {
    self.setData({
        addrs: changeshop
    });
}

StorageSync的用法

1、存入缓存
var addressList= wx.setStorageSync(key,value)

2、取出缓存

var addressList= wx.getStorageSync(key)

3、清除缓存

wx.removeStorageSync(key)

4、清除所有缓存

wx.clearStorageSync()

目前需要实现的是小程序首页在今日最右边放隐藏/显示摘要开关,只显示标题
微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法
我第一想法是后端写一个接口,来控制这里显示/隐藏摘要,后面发现其实用StorageSync就能实现了。

这里的swich的样式需要改一下,小程序自带的有点丑,而且有点大,样式如下:
app.wxss

/*swtich整体以及true背景色*/
.wx-switch-input{
  width:80rpx !important;
  height:40rpx !important;
  background: #43A0E9 !important;
  border: #43A0E9 !important;
}
/*开关为false背景样式)*/
.wx-switch-input::before{
  width:82rpx !important;
  height: 40rpx !important;
  background: #F3F3F3 !important;
  border: #F3F3F3 !important;
}
/*中间小球*/
.wx-switch-input::after{
  width: 40rpx !important;
  height: 40rpx !important;
}

wxml

<view class="date-box">
   <view class="f50">今日</view>
   <view>
     <text class="f14">隐藏摘要</text>
     <switch class="ml5" checked="{{isChecked}}" bindchange="changeSwitch"/>
   </view>
</view>

js文章来源地址https://www.toymoban.com/news/detail-429316.html

const app = getApp()
Component({
  data: {
    isChecked: false
  },
  methods: {
    getSwitch(){
      let isCheck = wx.getStorageSync("isChecked") //取出缓存中的isChecked
      if(isCheck){
        this.setData({
          isChecked: isCheck
        })
      }
    },
    changeSwitch(){
      this.setData({
        isChecked: !this.data.isChecked
      })
      wx.setStorageSync('isChecked', this.data.isChecked) //将isChecked存入缓存
    }
  }
})

到了这里,关于微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】将 token 配置为全局变量,使用定时器来检测 token 过期

    在微信小程序中,你可以将 token 配置为全局变量,并使用定时器来检测 token 是否过期。当 token 过期时,将其设置为 null。 首先,在 app.js 文件中定义一个全局变量 token,并设置初始值为 null,例如: 接下来,在获取 token 的函数中,将获取到的 token 设置为全局变量,并开启一

    2024年02月15日
    浏览(51)
  • 微信小程序详细讲解页面传值,globalData,wx,web前端开发基础

    在其他非app.js文件中修改: var app = getApp() ​ app.globalData.hasLogin = true 二、 使用 wx.navigateTo 与 wx.redirectTo 的时候,可以将部分数据放在 url 里面,并在新页面 onLoad 的时候初始化 // Navigate wx.navigateTo({ url: ‘…/pageD/pageD?name=raymondgender=male’, }) ​ // Redirect wx.redirectTo({ url: ‘…/p

    2024年04月25日
    浏览(57)
  • 微信小程序如何及时获取页面循环元素的宽度、高度、距离左边值、函数自调、类似递归、闪屏、selectAll、exec、globalData、map、scroll-view

    distanceLeft :定义一个数组存储各个循环元素距离左边的值。 isPage :控制页面显示与隐藏。 scrollLeft :动态设置滚动距离。 isAactivity :存储 tabBar 对应 id 值。因为从 tabBar 页面跳转到 tabBar 页面时不能在路径上携带参数,所以此参数存储在全局变量中。 在微信小程序中使用

    2024年02月13日
    浏览(53)
  • 微信小程序 全局配置||微信小程序 页面配置||微信小程序 sitemap配置

    小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。 以下是一个包含了部分常用配置选项的 app.json : 每一个小程序页面也可以使用同名 .json 文件来对本页面的窗口表现进行配置,页面中配

    2024年02月01日
    浏览(44)
  • 微信小程序全局配置

    小程序根目录下的 app.json 文件是小程序的全局配置文件。常用的配置项如下: ① pages 记录当前小程序所有页面的存放路径 ② window 全局设置小程序窗口的外观 ③ tabBar 设置小程序底部的 tabBar 效果 ④ style 是否启用新版的组件样式  设置步骤:app.json - window - navigationBarTitle

    2024年04月17日
    浏览(36)
  • 微信小程序全局数据共享

    全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。 在小程序中,可使用mobx-miniprogram配合mobx-miniprogram-bindings实现全局数据共享mobx-miniprogram用来创建Store实例对象 mobx-miniprogram-bindings用来把Store中的共享数据或方法,绑定到组件或页面中使用  npm install --s

    2024年02月11日
    浏览(54)
  • 微信小程序全局路由拦截

    略 目前微信小程序没有全局路由拦截。要想实现全局路由拦截,需要自己进行扩充。具体参考这里:微信小程序–路由拦截器。 实现思路: 替换Page的参数对象的onShow或onLoad方法。 在替换的onShow或onLoad方法中判断是否已经登录。 将替换后的参数对象传给Page。 实现思路: 使

    2024年02月11日
    浏览(38)
  • 微信小程序全局配置详解

    登录网址 https://mp.weixin.qq.com/ 注册网址 https://mp.weixin.qq.com/cgi-bin/wx?token=lang=zh_CN 下载地址 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 描述整体的app app.js 小程序逻辑 app.json 小程序公共配置 app.wxss 小程序公共样式表 描述各自页面的page 为了方便开发者减少配置项,

    2024年02月13日
    浏览(45)
  • 微信小程序全局websocket

    全篇干货无废话 实现微信小程序全局websocket 含掉线重连,心跳保活等机制,可做参考示例 app.js

    2024年02月09日
    浏览(43)
  • 微信小程序 样式和全局配置

    wxss 把屏幕分为750个物理像素,大屏大,小屏小,随着设备不一致自动适配 推荐使用iPhone6作为标准,1个rpx = 0.5个px,把px乘以2就是rpx的参数 导入外部样式表  样式  权重一样时,局部样式可以覆盖全局样式 导航栏区域 navigationBar 背景区域 backgroud 页面主体区域 可以配置【导

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包