微信小程序页面二次加载数据清除问题

时间:2024-04-01 18:44:28

第一篇博客

微信小程序页面二次加载数据清除问题

个人信息页面

<!--pages/mine/mine.wxml-->

<view class="mine-wrapper">
  <view class="avatar-wrapper">
    <view>
      <view class="avatar" wx:if ="{{sex === 1}}"> 
        <image style="border-radius:50%;" src="../../images/timg1.png"></image>
      </view>
      <view class="avatar" wx:else>
        <image style="border-radius:50%;" src="../../images/timg.jpg"></image>
      </view>
      <view class="text">
        <text>{{userName}}</text>
      </view>
      <view class="text">
        <text> 欢迎!</text>
      </view>
    </view>
  </view>
  <form bindsubmit="formSubmit">
      <view class="container container-gray">
              <view class="group">
                 
                  <view class="group-body">
                        <view class="input-list">
                            <view class="input-item">
                                      <view class="icons">
                                        <image src="../../images/icon/accountnum.png"></image>
                                      </view>
                                      <text class="input-item-label">账号</text>
                                      <text class="input-item-label">{{accountNum}}</text>
                            </view>

                            <view class="input-item">
                                     <view class="icons">
                                        <image src="../../images/icon/name.png"></image>
                                      </view>
                                      <text class="input-item-label">姓名</text>
                                      <text class="input-item-label">{{userName}}</text>
                            </view>

                            <view class="input-item">
                                      <view class="icons">
                                        <image src="../../images/icon/department.png"></image>
                                      </view>
                                      <text class="input-item-label">院系</text>
                                      <text class="input-item-label">{{userDep}}</text>
                            </view>

                            <view class="input-item">
                                      <view class="icons">
                                        <image src="../../images/icon/phone.png"></image>
                                      </view>
                                      <text class="input-item-label">电话</text>
                                      <text class="input-item-label">{{phone}}</text>
                            </view>

                            <view class="input-item">
                                      <view class="icons">
                                        <image src="../../images/icon/subject.png"></image>
                                      </view>
                                      <text class="input-item-label">所考科目</text>
                                      <text class="input-item-label">{{subjectName}}</text>
                            </view>
                          </view>
                    </view>
              </view>   
      </view>
         <view class="login-item-button">
        <button type="primary" size="default" plain="false" loading="{{loading}}" class="login-button" formType="reset" bindtap="quit_tologin"> 退出当前账号 </button>
   </view>
  </form>

</view>



   

个人信息js

// pages/mine/mine.js
var app = new getApp();
var testuname = getApp().globalData.app_url;
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    "accountNum": "",
    "userName": "",
    "userDep": "信科院",
    "phone": "",
    "subjectName": "",
     sex : '',
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.add_data();
  },

  add_data: function () {
    this.setData({
      accountNum: getApp().accountNum,
      userName: getApp().userName,
      //userDep: getApp().userDep,
      phone: getApp().phone,
      subjectName: getApp().subjectName,
      //sex: getApp().sex,
    })

    /*if (sex=="男")
      sex = 1
    else 
      sex = 2*/
  },
/*
  app.accountnum = res.data.select[0].accountNum;
  app.userName = res.data.select[0].userName;
  app.userDep = res.data.select[0].userDep;
  app.roleId = res.data.select[0].roleID;
  app.sex = res.data.select[0].sex;
  app.phone = res.data.select[0].phone;
  app.subjectID = res.data.select[0].subjectID;
*/
  quit_tologin: function (event) {  //退出按钮
    //var titles_model;
   // var content_model;

    //titles_model = "退出成功";
    //content_model = "";

    //this.dk_model(titles_model, content_model);

    wx.redirectTo({
      url: "../login/login"
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

微信小程序页面二次加载数据清除问题
遇到在退出账号时个人信息页面数据绑定后不会销毁的问题
一开始在退出页面时使用的是
wx.navigateTo({
url: “”
})
产生一个问题,该函数在退出时并不会销毁原页面,导致信息无法重新绑定,在确认json字符串与js传值过程没有问题之后,才想到可能是页面中元素内绑定的值没有销毁。于是使用
wx.redirectTo({
url: “”
})
该函数在跳转页面时会销毁原页面,从而实现了类似jquery里.empty()的作用,将页面元素中的数据进行清除,从而实现二次绑定。