【微信小程序】传参存储

目录

[一、本地数据存储 wx.setStorage wx.setStorageSync](#一、本地数据存储 wx.setStorage wx.setStorageSync)

[1.1、异步缓存 存取数据](#1.1、异步缓存 存取数据)

[1.2、同步缓存 存取数据](#1.2、同步缓存 存取数据)

二、使用url跳转路径携带参数

[2.1、 wx.redirectTo({})](#2.1、 wx.redirectTo({}))

[2.2、 wx.navigateTo({})](#2.2、 wx.navigateTo({}))

[2.3、 wx.switchTab({})](#2.3、 wx.switchTab({}))

[2.4 、wx.reLaunch({})](#2.4 、wx.reLaunch({}))

2.5、组件跳转

三、globalData(全局)


一、本地数据存储 wx.setStorage wx.setStorageSync

在微信小程序中,大多数的数据操作都是异步的,包括像 wx.setStorage 这样的存储数据的方法。异步操作意味着当调用这些方法时,程序会继续执行后续的代码,而不会等待这些方法执行完成。当这些异步方法执行完成时,会通过回调函数来返回结果或执行后续逻辑。

而同步操作则是指方法执行时会阻塞后续代码的执行,直到该方法执行完成才会继续执行后续代码。

针对 wx.setStorage 方法,它是一个异步的数据存储方法,优势和区别主要体现在以下几点:

  1. 非阻塞:异步方法不会阻塞后续代码的执行,可以提高程序的响应速度和性能。

  2. 避免页面假死:如果使用同步方法进行数据存储,可能会导致页面假死,用户体验会受到影响。

  3. 更好的并发控制:异步方法适用于需要处理大量并发请求的场景,能更好地控制多个操作之间的执行顺序和结果处理。

总的来说,异步方法能够更好地保持程序的响应性和用户体验,而同步方法可能会导致页面假死、响应迟缓等问题。因此,在小程序开发中,推荐使用异步方法进行数据操作,如 wx.setStorage,确保程序的流畅性和性能

1.1、异步缓存 存取数据
javascript 复制代码
  wx.setStorage({           // 异步存储数据
      key: 'user',
      data: 'zhangsan',
    })

    wx.getStorage({         //异步取出数据
      key: 'user',
      success: function(res) {
        console.log(res)
      },
    });
1.2、同步缓存存取数据
javascript 复制代码
 wx.setStorageSync('name', '张三')    //同步存储数据

wx.getStorageSync('id')           //同步取出数据

二、使用url跳转路径携带参数

2.1、 wx.redirectTo({})

不允许跳转到 tabBar

javascript 复制代码
///关闭当前页面跳转 
wx.redirectTo({
      url:"/pages/index/index?id=999"
 })
//跳转的页面上js 获取
  onLoad(options) {
    console.log(options);
},
2.2、 wx.navigateTo({})

不允许跳转到 tabBar

javascript 复制代码
//保留当前页面,跳转到应用内的某个页面
wx.navigateTo({
      url: '/pages/user/index?id=999'
    });
//跳转的页面上js 获取
  onLoad(options) {
    console.log(options);
},
2.3、 wx.switchTab({})

只能跳转到tabBar页面且不能携带参数

javascript 复制代码
   wx.switchTab({
      url: '/pages/index/index'
  })
2.4 、wx.reLaunch({})

关闭所有页面,打开到应用内的某个页面

javascript 复制代码
   wx.reLaunch({
      url: '/pages/index/index?id=999'
  })
//跳转的页面上js 获取
  onLoad(options) {
    console.log(options);
},
2.5、组件跳转

效果跟上面一模一样,注意事项也是一样,只是形式不同罢了

javascript 复制代码
<view>
  <navigator open-type="switchTab" url="/a">/navigator>
  <navigator open-type="reLaunch" url="/a?id=1"></navigator>
  <navigator open-type="redirectTo" url="/a?id=1"></navigator>
  <navigator open-type="navigateTo" url="/a?id=1"></navigator>
</view>

三、globalData(全局)

globalData类似vue中的vuex,当globalData中数据发生改变时,页面上之前赋值信息不回发生改变,如果要求改变的话也需要改变,可以在切换页面的时候 在onShow中再重新赋值。

javascript 复制代码
// app.js 类似vuex 全局可以
App({
  globalData:{},
})
// a.js
const app = getApp();
app.globalData.token='sdasdasd';
//b.js
const app = getApp();
console.log(app.globalData.token) //sdasdasd
相关推荐
greenbbLV1 小时前
中小公司积分商城选型:SaaS与私有化方案对比解析
大数据·前端·小程序
2501_915909061 天前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone
海纳百川·纳海川1 天前
租房行业数字化:换个思路解决“老问题”
大数据·微信小程序·小程序
上海云盾-小余2 天前
CC 高频请求 + DDoS 流量攻击实战防御:全链路 WAF 流量清洗部署完整流程
网络·爬虫·安全·小程序·ddos
2501_916008892 天前
iOS IPA文件反编译与打包操作方法,拆包分析防护和加固打包
android·macos·ios·小程序·uni-app·cocoa·iphone
2301_810313182 天前
海外教育APP定制发展现状与开发选型核心要点解析
小程序·团队开发·软件需求
2501_915921432 天前
iOS手游安全反外挂解决方案:基于Xcode的加固混淆特色详解
android·安全·ios·小程序·uni-app·iphone·xcode
禾高网络2 天前
回收小程序在环保和商业领域发挥更大的作用
java·大数据·人工智能·小程序
2501_916007472 天前
iOS App分发教程 App Store、TestFlight 与 Ad Hoc 的配置与上传方法
android·ios·小程序·https·uni-app·iphone·webview