微信小程序开发学习 第七天 在不同界面传递数据的两种方式

本文介绍了在微信小程序中进行页面间数据传递的两种方法:全局变量和本地缓存。虽然全局变量在app.js中设置方便,但不建议存储易变数据;而本地缓存适合在不同页面间持久存储和获取数据,需在onLoad()中使用,并确保数据部分相同。
摘要由CSDN通过智能技术生成

参考:开发 | 如何在微信小程序的页面间传递数据?

全局变量的方式:

在app.js中设置全局变量

//app.js
App({
  globalData: {
    test : 99,   //全局变量的初值设为99
  }
})

在其他页面的js文件中赋值、使用全局变量

//index.js
//获取应用实例
const app = getApp()
app.globalData.test=22   //设置全局变量的值
let test=app.globalData.test  // 声明test变量并初始化

实现:

{
        price: test,    //赋值price的值为test
        name: '人人都会小程序1',
        coverPath: '../../img/cover.png'
      },

效果:全局变量的值99改为22
在这里插入图片描述

注意:由于 app.js在项目中是用来做基础配置的,因此不建议将很多变量放在这里配置。一般情况下会将一些持久化的常量配置在这里,对于经常需要变动的量不建议用这个方法。

使用本地缓存:

在设置数据的 A.js文件:

	//初始化数据:
	let userInformation = {
		sex:this.data.sex,
		height:this.data.height,
    	age:this.data.age,
	    exerciseAbility:this.data.exerciseAbility,
    	currentWeight:this.data.currentWeight,
    	targetWeight:this.data.targetWeight,
    }
    //数据存入本地缓存
    wx.setStorageSync('userInformation', userInformation)

在使用数据的B.js文件:

在onLoad()中使用比较好

	/**
   * 生命周期函数--监听页面加载  --即页面加载调用的函数
   */
   onLoad: function (options) {
    let userInformation = wx.getStorageSync('userInformation')
    this.setData({
      information : userInformation,
    })

注意:两个页面得有相同的data部分:

data:{
	 information:{
      sex: null,
      height:null,
      age:null,
      exerciseAbility:null,
      currentWeight:null,
      targetWeight:null,
      },
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值