页面之间数据传递
发布于 5 年前 作者 lei40 12470 次浏览 来自 问答

在app.js中定义一个全局变量赋值为空,然后在user.js中定义函数判断如果为空,wx.redirectTo 到logs页面,并在logs页面按钮中赋值全局变量,然后返回user页面,可是user的onload的函数中始终判断全局变量为空。

3 回复

在手机上也调试了,问题一样。是不是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})

  }

})

这个问题,,要不是赋值异步的问题,。。。。。。还有就是你用的是工具上的真机调试,,没有在手机上真机调试

回到顶部