小程序页面传参

1. 路径传参

       A页面传B页面

//A页面 
onLoad(options) {
        let Adata = [
            {id:0,name:"啦啦啦"},
            {id:1,name:"哈哈哈"},
        ]
        wx.navigateTo({
          url: `/pages/testB/testB?data=${JSON.stringify(Adata)}`,
        })
    },
//B页面
onLoad(answer) {
        console.log(JSON.parse(answer.data));
},

2. APP全局变量

//app.js 
globalData: {
    userInfo: null,
    testData:[]
 }
// testA.js
//获取app对象
const app = getApp();
Page({
    data: {
        testData:[
            {id:0,name:"啦啦啦"},
            {id:1,name:"这是A页面的值"},
        ]
    },
    onLoad(options) {
        app.globalData.testData = this.data.testData;
        wx.navigateTo({
            url: "/pages/testB/testB"
        })
    },
})
// pages/testB/testB.js
//获取app对象
const app = getApp();
Page({
    onLoad(answer) {
        console.log(app.globalData.testData);
    },
})

3.数据缓存传参

// testA.js
Page({
    data: {
        testData:[
            {id:0,name:"啦啦啦"},
            {id:1,name:"这是A页面的值"},
        ]
    },
    onLoad(options) {
        wx.setStorageSync('testData', this.data.testData)
        wx.navigateTo({
            url: "/pages/testB/testB"
        })
    },
})

​
// testB.js
Page({
    onLoad(answer) {
        console.log(wx.getStorageSync('testData'));
    },
})

注意:缓存中的数据,可全局使用,用 getStorageSync 获取。这个数据是一直存在在缓存里,除非清除数据缓存或者删除小程序

4.事件通讯

//testA.js
Page({
    data: {
        testData:[
            {id:0,name:"啦啦啦"},
            {id:1,name:"这是A页面的值"},
        ]
    },
    onLoad(options) {
        wx.navigateTo({
            url: "/pages/testB/testB",
            success:res=>{
                res.eventChannel.emit('testFunction1',{data:this.data.testData})
            }
        })
    },
})
// testB.js
Page({
    onLoad(answer) {
        //	获取所有打开的EventChannel事件
        const eventChannel = this.getOpenerEventChannel()
        eventChannel.on('testFunction1', (data) => {
            console.log(data)
        })
    },
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值