原本主要是想实现跳转页面时参数传递的问题,总是传不过去,然后又采用全局变量,还是传不了,又测试了下发现,变量a的值竟然不能赋给变量b(我是用console.log查看b的),于是彻底崩溃了。
求教大家,在.js中如何将var a的值赋给var b?是a=b吗?(为什么我试了不行)
能给个页面传递变量值(是变量,不是一个常量)的栗子更好,谢谢。
还有两个问题想请教您:
1、在bindChange函数中console.log(hour)这句运行后监控台显示为undefined,没有值。这个函数对应的是下面这个控件:
<view>
<view>{{hour}}时 : {{minute}}分</view>
<picker-view indicator-style=“height: 50px;” style=“width: 100px; height: 300px;” value="{{value}}" bindchange=“bindChange”>
<picker-view-column>
<view wx:for="{{hours}}" wx:key=“hours” style=“line-height: 50px”>{{item}}时</view>
</picker-view-column>
<picker-view-column>
<view wx:for="{{minutes}}" wx:key=“minutes” style=“line-height: 50px”>{{item}}分</view>
</picker-view-column>
</picker-view>
</view>
2、在
//点击开始按钮事件函数
enterChanging: function () {
console.log("hour="+hour),
wx.navigateTo({
url: '../changing/changing?hour='+hour,
})
},
中,我到changing页面的.js中onload函数中接受这个值时,接受不到,是我哪里错了吗?
onLoad: function (option) {
var key1 = option.hour;
console.log(key1)
},
var app = getApp();
const hours = []
const minutes = []
var hour
var minute
for (let i = 0; i <= 23; i++) {
hours.push(i)
}
for (let i = 0; i <= 59; i++) {
minutes.push(i)
}
// pages/main/main.js
Page({
/**
* 页面的初始数据
* 1、设置初始时间值
*/
data: {
hours: hours,
hour: 0,
minutes:minutes,
minute: 0,
value: [0, 0]
},
/**
* 生命周期函数–监听页面加载
*/
onLoad: function (options) {
},
// 点击时间组件确定事件
bindChange: function (e) {
const val = e.detail.value
this.setData({
hour: this.data.hours[val[0]],
minute: this.data.minutes[val[1]],
}),
console.log(hour)
},
//点击开始按钮事件函数
enterChanging: function () {
console.log(“hour=”+hour),
wx.navigateTo({
url: ‘…/changing/changing?hour=’+hour,
})
},
方法一,在跳转时传 query 参数,B 页面中在生命周期方法 onLoad 中接收参数。
wx.navigateTo({ url: 'test?id=1' }) |
Page({ onLoad: function (option) { console.log(option.id) } }) |
方法二,使用 Storage 传参。A 页面跳转前存储值,B 页面读取值并清除 Storage 。
wx.setStorageSync( 'key' , 'value' ) |
page({ onShow: function () { wx.getStorageSync( 'key' ) wx.removeStorageSync( 'key' ) } }) |