微信小程序 setData、強制升級、監聽網絡

setData

  • 修改data中子對象的屬性值, 使用 [key]
data:{
       user_info:{
           name: 'Rainy',
           age: 19
       }
   }
   
   // 修改name 爲 Mis_chen, 不可能爲了更改其中一個屬性,把一個對象的全部屬性都setData一遍!,如下方法
   
   let key = "user_info.name" ;
   this.setData({
       [key]: "Mis_chen"
   })

複製代碼
  • 修改數組array 某個下標的子屬性。類同之上,變量使用字符串拼接便可
data:{
       arr:[{ name: 'aa' }, { name: 'bb'}]
   }
   
   //修改 下標爲1,name變爲dd
   
   let index = 1; //測試用,通常爲傳入的參數
   let key = 'array' + '[' + index + '].name' ;
   this.setData({
       [key]: "dd"
   })
複製代碼

強制升級

app.js
       /**
        * 強制升級
        */
       const updateManager = wx.getUpdateManager() ;
       updateManager.onCheckForUpdate(function (res) {
           // 請求完新版本信息的回調
           if (res.hasUpdate) {
               updateManager.onUpdateReady(function () {
                   wx.showModal({
                       title: '更新提示',
                       content: '新版本已經準備好,是否重啓應用?',
                       success: function (res) {
                           if (res.confirm) {
                               // 新的版本已經下載好,調用 applyUpdate 應用新版本並重啓
                               updateManager.applyUpdate()
                           }
                       }
                   })
               })
               updateManager.onUpdateFailed(function () {
                   // 新的版本下載失敗
                   wx.showModal({
                       title: '已經有新版本了喲~',
                       content: '新版本已經上線啦~,請您刪除當前小程序,從新搜索打開喲~'
                   })
               })
           }
       })
複製代碼

網絡監聽

app.js 
       /**
        * 初次加載,判斷網絡狀態 
        */
       wx.getNetworkType({
           success: function(res) {
               let networkType = res.networkType ;
               if(networkType == "none"){
               that.globalData.isConnected = false ;
                   wx.showToast({
                       title: '當前無網絡',
                       icon: 'loading',
                       duration:2000
                   })
               }
           },
       })
       /**
        * 監聽網絡狀態,根據業務調整 
        */
       wx.onNetworkStatusChange(function(res){
           if(!res.isConnected){
               that.globalData.isConnected = false ;
                   wx.showToast({
                       title: '網絡已斷開',
                       icon: 'loading',
                       duration: 2000,
                       complete:function(){
                           //斷開以後的業務邏輯
                       }
               })
           } else {
               that.globalData.isConnected = true ;
               wx.hideToast() ;
           }
       })
複製代碼
相關文章
相關標籤/搜索