收藏
回答

页面之间数据传递

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


回答关注问题邀请回答
收藏

3 个回答

  • 灵芝
    灵芝
    2019-01-18

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-01-18
    有用
    回复
  • 天顺人和 丁凡
    天顺人和 丁凡
    2019-01-18

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

      }



    })


    2019-01-18
    有用
    回复
  • ==
    ==
    2019-01-18

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

    2019-01-18
    有用
    回复
登录 后发表内容