前端传值
Page({
data: {
test01: 1,
test02: 2
},
testfun: function() {
var that = this;
if (this.data.test01 == 1) {
that.setData({
test02:8
})
console.log(this.data.test02)
}
},
onLoad: function() {},
})
<view class="numview">test01======={{test01}}</view>
<view class="numview">test02======={{test02}}</view>
<button bindtap="testfun">测试</button>
页面之间三种传值方式
第一种:url传值
A页面部分js代码
Page({
jumpPage(e) {
var zhi = 'biubiubiu~~';
wx.navigateTo({
url: '/pages/detail/detail?zhi =' + zhi,
}
})
B页面部分js代码
Page({
/**
* onLoad生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options); // {zhi: 'biubiubiu~~'}
},
})
第二种:将值缓存在本地,再从本地取值
A页面部分js代码
Page({
jumpPage(e) {
var zhi = "biubiubiu~~";
wx.setStorageSync("zhi", zhi);//同步
wx.navigateTo({
url: '/pages/detail/detail', //这儿url不用带值了
})
}
})
B页面部分js代码
Page({
/**
* onLoad生命周期函数--监听页面加载
*/
onLoad(options) {
var zhi = wx.getStorageSync("zhi");
console.log(zhi); //biubiubiu~~
},
})
本地缓存,不要超过10M大小,所以高清图片、视频、音频就不通过本地缓存传值了。
第三种:全局传值
app.js页面代码
App({
globalData: {
mockData: '模拟数据'
}
})
其他页面js代码
const app = getApp();
Page({
onLoad: function (options) {
// 获取globalData里面mockData的值
const mockData = app.globalData.mockData;
console.log(mockData); // 模拟数据
// 重新赋值
app.globalData.mockData = '重新赋值';
}
})