小程序
小游戏
企业微信
微信支付
扫描小程序码分享
原本主要是想实现跳转页面时参数传递的问题,总是传不过去,然后又采用全局变量,还是传不了,又测试了下发现,变量a的值竟然不能赋给变量b(我是用console.log查看b的),于是彻底崩溃了。
求教大家,在.js中如何将var a的值赋给var b?是a=b吗?(为什么我试了不行)
能给个页面传递变量值(是变量,不是一个常量)的栗子更好,谢谢。
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
方法一,在跳转时传 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:
() {
wx.getStorageSync(
wx.removeStorageSync(
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
ES6
let jack =
'I am male'
,mary =
'I am female'
;
[jack,mary] = [mary,jack];
console.log(`jack:${jack}`);
console.log(`mary:${mary}`);
如果有改变的话,两个都重新赋值
不是同一个变量的话,我应该怎么修改呢?
你用var 定义的变量和data:{}里面的变量是分开的,不是同一个变量
还有两个问题想请教您:
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>
<view wx:for="{{minutes}}" wx:key="minutes" style="line-height: 50px">{{item}}分</view>
</picker-view>
</view>
2、在
//点击开始按钮事件函数
enterChanging: function () {
console.log("hour="+hour),
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
/**
* 页面的初始数据
* 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)
var a='123546';
var b;
b=a;这样就可以把a的值赋值给b了吧
console.log("b=",b)
console.log("a=",a)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
方法一,在跳转时传 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'
)
}
})
ES6
let jack =
'I am male'
,mary =
'I am female'
;
[jack,mary] = [mary,jack];
console.log(`jack:${jack}`);
console.log(`mary:${mary}`);
如果有改变的话,两个都重新赋值
不是同一个变量的话,我应该怎么修改呢?
你用var 定义的变量和data:{}里面的变量是分开的,不是同一个变量
还有两个问题想请教您:
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,
})
},
var a='123546';
var b;
b=a;这样就可以把a的值赋值给b了吧
console.log("b=",b)
console.log("a=",a)