在app.js中定义一个全局变量赋值为空,然后在user.js中定义函数判断如果为空,wx.redirectTo 到logs页面,并在logs页面按钮中赋值全局变量,然后返回user页面,可是user的onload的函数中始终判断全局变量为空。
在手机上也调试了,问题一样。是不是wx.redirectTo把全局变量清空了。
app.js
App({
/**
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function () {
},
/**
* 当小程序启动,或从后台进入前台显示,会触发 onShow
*/
onShow: function (options) {
},
/**
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function () {
},
/**
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function (msg) {
},
appData:{
userInfo:null
}
})
index.js
var app = getApp();
Page({
data:{
// text:“这是一个页面”
},
onLoad:function(options){
// 页面初始化 options为页面跳转所带来的参数
},
onReady:function(){
// 页面渲染完成
},
onShow:function(){
// 页面显示
},
onHide:function(){
// 页面隐藏
},
onUnload:function(){
// 页面关闭
},
login:function(){
if(app.appData.userInfo == null){
wx.redirectTo({
url: ‘…/Test/Test’,
})
}
}
})
logs.js
var app = getApp();
Page({
data:{
username:null,
password:null,
},
onLoad:function(options){
},
onReady:function(){
},
onShow:function(){
// 页面显示
},
onHide:function(){
// 页面隐藏
},
onUnload:function(){
// 页面关闭
},
loginBtnClick:function (){
// 用户名和密码验证的过程
app.appData.userinfo = {‘username’:this.data.username,‘password’:this.data.password};
console.log(app.appData.userinfo.username);
console.log(app.appData.userinfo.password);
wx.redirectTo({url:"…/Test/Test"})
},
usernameInput : function (event){
this.setData({username:event.detail.value})
},
passwordInput : function (event){
this.setData({password:event.detail.value})
}
})