微信小程序啟動過程


(轉)


小程序的啟動

小程序啟動前,會加載代碼到本地。通過讀取全局app.json里的pages,就能知道你所有注冊的頁面。

1 {
2   "pages":[
3     "pages/index/index",
4     "pages/logs/logs"
5   ]
6 }

pages/index/index:表示第一頁面所有內容在index下

pages/index/logs:表示第二頁面所有內容在logs下。

注:pages數組的第一注冊頁面為首頁,也就是pages/index/index時打開小程序的首頁。


小程序啟動后,在app.js里定義的App 實例的onLaunch函數就會執行:



App({
  onLaunch: function () {
    // 小程序啟動之后 觸發
  }
})

注意:整個小程序只有一個 App 實例,為所有的頁面共享。App實例有多個函數(onShow,onHide,onError等)。

 

程序和頁面

首先觀察下pages/logs/logs頁面有4個文件格式,包括

(1)logs.json(配置),

(2)logs.wxml(內容),

(3)logs.wxss(樣式)。

(4),logs.js(交互)

順序:

(1)首先,根據 logs.json 配置生成一個界面,logs.json配置好頂部的顏色和文字。

(2)其次,裝載這個頁面的 WXML 結構和 WXSS 樣式。

(3)最后,裝載logs.js,渲染當前頁面。


舉例(logs.js):

    Page({
      data: { // 參與頁面渲染的數據
        logs: []
      },
      onLoad: function () {
        // 頁面渲染后 執行
      }
    })

Page是頁面構造器(生成頁面),把data數據和wxml一起渲染得到最終結果。

至於onLoad函數會在渲染結束后執行,用來處理你的邏輯。

 

組件

小程序提供了豐富的組件,供開發者使用。

如地圖:

<map></map>

 

如果,我們希望地圖一開始的中心的經緯度是廣州,那么你需要聲明地圖的 longitude(中心經度) 和 latitude(中心緯度) 兩個屬性,通過給傳遞值給組件的屬性,讓組件可以以不同的狀態去展現。

<map longitude="廣州經度" latitude="廣州緯度"></map>

也可以,你可以在 js 編寫 markertap 函數來處理,用戶點擊了地圖上的某個標記的事件

<map bindmarkertap="markertap" longitude="廣州經度" latitude="廣州緯度"></map>

 

小程序的API接口

小程序提供了很多 API 給開發者去使用,例如獲取用戶信息、微信支付等等。

如,獲取位置:

    wx.getLocation({
      type: 'wgs84',
      success: (res) => {
        var latitude = res.latitude // 經度
        var longitude = res.longitude // 緯度
      }
    })

 

微信掃一掃:

wx.scanCode({
  success: (res) => {
    console.log(res)
  }
})

 

注意:多數 API 的回調都是異步,你需要處理好代碼邏輯的異步問題。

--------------------- 
作者:ssyes123 

原文:https://blog.csdn.net/ssyes123/article/details/79763817 


免責聲明!

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



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