小程序啟動時加載順序,小程序初始化,頁面初始化


 啟動小程序后,首先會執行App({}),中的聲明周期函數。(注冊小程序示例)

onLauch函數,監聽小程序的啟動后的函數(監聽小程序初始化),可以在這個函數中 進行網路請求,或者獲取用戶信息。

和App相關的生命周期函數文檔:https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html

 wx.getUserInfo({//獲取用戶信息

  success:function(res){

    console.log(res)
  }

})

 小程序后台運行后,會存活兩個小時,如果在兩個小時內再次進入小程序,不會初始化小程序。

 onShow:小程序在前台顯示

onHide(options):小程序后台運行    options中就有小程序的打開場景

onError:小程序中,程序發生錯誤時會執行

 

補充:一般在App()注冊小程序時,我們會獲取用戶信息,判斷進入小程序的場景

都有哪些小程序進入場景呢?分享,搜索?等等,文檔鏈接:https://developers.weixin.qq.com/miniprogram/dev/reference/scene-list.html

 wx.getUserInfo()在將來有可能廢棄,那么補救方案是什么呢?通過button

<button size="mini" open-type="getUserInfo" bindgetUserInfo="handleGetUserInfo">獲取用戶信息</button>

methods:

handleGetUserInfo(event){
  event.detail.userInfo
}

 另外用open-data組件可以直接展示用戶信息,只是展示,不能獲取

在文檔的  組件  開放能力里可以查看該組件用法

 

在App()中是可以定義一些全局的數據的

globalData:{

  name:"哈哈"

}

在小程序所有頁面都是可以取到全局數據的

const  app=get App();//獲取小程序產生的示例對象

console.log(app.globalData.name);

 

上面說的是小程序初始化時調用App()

那么每個頁面也需要注冊,頁面注冊是調用Page方法

 那么在頁面注冊時,Page方法中我們會做什么事情呢?

1、監聽頁面生命周期,請求網絡數據,初始化數據

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html

 幾個常用的生命周期函數:onLoad:頁面加載;onShow:頁面顯示;onHide:頁面隱藏;onUnload:頁面卸載(頁面發生跳轉);onReady:頁面第一次渲染完成

 onLoad頁面加載周期函數通常是發起服務器請求:

wx.request({
  url: 'http://123.207.32.32:8002//recommend', //僅為示例,並非真實的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' // 默認值
  },
  success (res) {
    console.log(res.data)
   this.setData({
    list:res.data
   }) } })

 

 

上面的域名包括端口,需要在 微信管理平台上配置上才能正常發起請求;

當然,我們開發時,可以在微信開發工具的 詳情 按鈕模塊里,將校驗合法域名 取消勾選,這樣我們在開發時就先不用設置合法域名了。

 可以在Page中監聽 頁面的點擊事件、上拉刷新、下拉加載等等

 另外,在頁面中用箭頭函數的話,里面用this,指向的是Page這個對象,如果用function定義的函數,this指向undefined,我們可以早onLoad生命周期函數中定義一個常量

_this=this;然后在其它方法內就可以用_this來使用this對象了,注意這是es6箭頭函數和正常function函數的一個區別,箭頭函數沒有this,會一級一級往上找。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM