微信小程序页面相互传参/链接传参/本地缓存/全局变量/反向传值

A页面 和 B页面(a传值给b)

基本的页面目录和配置

一、通过缓存传递参数  wx.setStorageSync

a页面(传值的页面)

<!--pages/a/a.wxml-->
<view bindtap="tiaozhuan">A页面</view>

js

onLoad: function (options) {},

tiaozhuan: function (e) {
    var ttt = '/img/common/xybg.png'
    console.log(ttt)
    wx.setStorageSync("testtest", ttt)
    wx.navigateTo({ //跳转b页面
       url: '../b/b'
    })
}, 

b页面  接收a的值

<!--pages/b/b.wxml-->
<view>B页面</view>
<view>
从A页面得到的值:
{{testtest}}
<image src="{{testtest}}"></image>
</view>

js

onLoad: function (options) {
    var testtest = wx.getStorageSync('testtest')
    console.log(testtest)
    this.setData({
        testtest: testtest
    }, function () {
        wx.removeStorageSync('testtest')//清除缓存
    })
},

运行结果

 

缓存的反向传值

把B页面的值传给A页面

首先b页面js

onLoad: function (options) {

    var b_txt='B页面返回的值'
    wx.setStorageSync('jieshou', b_txt)
    wx.navigateBack();

},

a页面

    onShow: function () {
        var newdata = wx.getStorageSync('jieshou');
        this.setData({
            dataB:newdata
        })
    },
<view>{{dataB}}</view>

运行结果

 

二、通过链接传递参数

a页面

<!--pages/a/a.wxml-->
<view bindtap="tiaozhuan">A页面</view>

js

    tiaozhuan: function (e) {

        var cc='123456'
        var bb="参数"

        wx.navigateTo({
            url: '../b/b?num=' + cc + '&ch='+bb
        })
    },   

b页面

<!--pages/b/b.wxml-->
<view>B页面</view>

<view>
链接参数1: {{canshu1}}
</view>

<view>
链接参数2: {{canshu2}}
</view>

js

data: {
    canshu1:'',
    canshu2:''
},
onLoad: function (options) {
    this.setData({
        canshu1:options.num,
        canshu2:options.ch

    })
    console.log(options.num)
    console.log(options.ch)
},

运行

三、全局变量

在app.js里定义全局变量

App({

    onShow: function (options) {//测试 场景值
        let option = JSON.stringify(options);
        console.log('app.js option-----' + option)
        console.log('app.js>>options.scene--------------------' + options.scene);
        this.globalData.test= options.scene
    },
    globalData: {//定义全局变量
        test: null
    },
})

a页面js里

var app = getApp(); //获取应用实例 必须有这个才能获取到app.js里的东西
Page({
    onLoad: function (options) {
        console.log(app.globalData.test); //a页面 直接就能打印场景值
    },

})

运行结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值