這篇文章主要介紹“微信小程序開發(fā)中全局變量緩存的問題怎么解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“微信小程序開發(fā)中全局變量緩存的問題怎么解決”文章能幫助大家解決問題。
10年積累的網站建設、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計制作后付款的網站建設流程,更有蠡縣免費網站建設讓你可以放心的選擇與我們合作。
這個問題的出現是因為,在input的事件,我沒有找到更好的能監(jiān)聽鍵盤收回的方法,也是為了更好的用戶體驗吧,所以隨之而來的問題就是全局變量,在賦值之后用戶退出這個頁面,全局變量被微信緩存了,然后造成,用戶輸入過一次之后,修改手機號失敗的bug。
let Btel = '',//防止用戶惡意修改手機號 Byzm = ''; handleTel(e) {// 這里修改用戶輸入的手機號 this.setData({ tel:e.detail.value }) }, handleYzm(e) { this.setData({ Yzm:e.detail.value }) Byzm = e.detail.value; let psd = this.data.psd, yzm = this.data.Yzm; yzm == psd ? this.setData({isYzm:0}):''; }, handleGetYzm() { let reg = common.telReg, val = this.data.tel; if (!reg.test(val)) { wx.showModal({ content:'請輸入正確的手機號', showCancel:false, confirmColor:'#3cc51f',//默認值為#3cc51f success:res =>{ if(res.confirm){ this.setData({ tel:'' }) } } }) }else {//發(fā)送驗證碼的時候用全局變量的手機號 Btel = val;// 這里是全局的手機號 this.setData({ isReset : true, isNoClick: true }) const data ={ tel:val//傳的是全局變量 }; utils.sendRequest(api.YanZhengMa, data, this.handleGetYzmSucc.bind(this)); //button 定時器 let time = setInterval(()=>{ let phoneCode = this.data.time; phoneCode -- this.setData({ time : phoneCode }) if(phoneCode == 0){ clearInterval(time) this.setData({ isReset : false, isNoClick: false, time:60 }) } },1000) } }, //然后這一步是校驗了用戶在請求完驗證碼接口后 有沒有修改手機好 然后保存handleSave() { let name = this.data.name, telNum = this.data.tel, yzm = Byzm, status = this.data.isYzm, card = wx.getStorageSync('UserCard'); let timestamp= new Date().getTime(); if (yzm == '') { wx.showModal({ content:'請輸入驗證碼.', showCancel:false, confirmColor:'#3cc51f' }) return false; } if (name!=''&&telNum!='') { if(Btel != telNum) { utils.showModal('手機號發(fā)生變化,請重新獲取驗證碼。'); }else { const data ={ distribution_id:card.distribution_id, post:{ user_name:name, user_tel:Btel, user_code:yzm }, user_id:card.user_id, password:yzm+timestamp }; utils.sendRequest(api.BindTel, data, this.handleSaveTel.bind(this)); } }else { utils.showModal('請?zhí)顚懲暾畔?#39;); } }, // 然后在 保存成功之后 用戶點擊確定 清空 全局變量 也可以在隱藏和卸載的生命周期里面清空全局變量。 handleSaveTel(res) { if (res.data.error == 0) { let go = this.data.go, id = res.data.data.id, lv = res.data.data.level; wx.showModal({ content:'綁定成功~', showCancel:false, confirmColor:'#3cc51f',//默認值為#3cc51f success:res =>{ if(res.confirm){ Byzm = '';//對小程序全局變量緩存進行清除 if (go) { wx.redirectTo({ url: '/pages/user/cash/cash' }) }else { if (id != 0) { let card = wx.getStorageSync('UserCard'); card.distribution_id = id; card.distribution_level = lv; wx.setStorageSync('UserCard',card); wx.setStorageSync('seller', true) } wx.switchTab({ url: '/pages/user/index' }) } } } }) return false }else { utils.showModal(res.data.err_msg); } }
關于“微信小程序開發(fā)中全局變量緩存的問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
分享題目:微信小程序開發(fā)中全局變量緩存的問題怎么解決
文章地址:http://muchs.cn/article30/jchiso.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計、網站收錄、網站內鏈、小程序開發(fā)、響應式網站、軟件開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯