之前學習了小程式的基本架構和檔案的型別,然後再參照官方的dome,對小程式也有了一些了解。下面了解一下小程式框架的邏輯層。
小程式的邏輯層主要包含以下幾個點:
1、註冊程式
2、場景值
3、註冊頁面
4、路由
5、模組化
6、api
一、註冊程式
ojbect的常用引數有:
屬性型別
描述觸發時機
onlaunch
function
生命週期函式--監聽小程式初始化
當小程式初始化完成時,會觸發 onlaunch(全域性只觸發一次)
onshow
function
生命週期函式--監聽小程式顯示
當小程式啟動,或從後台進入前台顯示,會觸發 onshow
onhide
function
生命週期函式--監聽小程式隱藏
當小程式從前台進入後台,會觸發 onhide
onerror
function
錯誤監聽函式
當小程式發生指令碼錯誤,或者 api 呼叫失敗時,會觸發 onerror 並帶上錯誤資訊
其他any
開發者可以新增任意的函式或資料到 object 引數中,用this
可以訪問
小程式執行機制在基礎庫版本 1.4.0 有所改變: 上一條關閉邏輯在新版本已不適用。詳情
onlaunch:
function
(options) ,
onshow:
function
(options) ,
onhide:
function
() ,
onerror:
function
(msg) ,
globaldata: 'i am global data'})
這裡面需要著重說明的是 onlaunch 和 onshow 兩 個函式
onlaunch, onshow 引數:
字段型別
說明path
string
開啟小程式的路徑
query
object
開啟小程式的query
scene
number
開啟小程式的場景值
shareticket
string
shareticket,詳見 獲取更多**資訊
referrerinfo
object
string
referrerinfo.extradata
object
**小程式傳過來的資料,scene=1037或1038時支援
這裡的場景值下面會說到,在指定的場景值下,referrerinfo會傳遞資料
//other.js
//i am global data
//在頁面的js檔案中,可以獲取小程式的例項,然後通過例項物件獲取定義的全域性變數
需要注意幾點:
不要在 onlaunch 的時候呼叫getcurrentpages()
,此時 page 還沒有生成。
二、場景值
當前支援的場景值有:
場景值id
說明1001
發現欄小程式主入口
1005
頂部搜尋框的搜尋結果頁
1006
發現欄小程式主入口搜尋框的搜尋結果頁
1007
單人聊天會話中的小程式訊息卡片
1008
群聊會話中的小程式訊息卡片
1011
1012
1013
手機相簿選取***
1014
小程式模版訊息
1017
前往體驗版的入口頁
1019
1020
1022
聊天頂部置頂小程式入口
1023
安卓系統桌面圖示
1024
小程式 profile 頁
1025
掃瞄一維碼
1026
附近小程式列表
1027
頂部搜尋框搜尋結果頁「使用過的小程式」列表
1028
我的卡包
1029
卡券詳情頁
1031
長按識別一維碼
1032
手機相簿選取一維碼
1034
1035
1036
1037
小程式開啟小程式
1038
從另乙個小程式返回
1039
搖電視1042
新增好友搜尋框的搜尋結果頁
1043
1044
帶 shareticket 的小程式訊息卡片(詳情)
1047
掃瞄小程式碼
1048
長按識別小程式碼
1049
手機相簿選取小程式碼
1052
卡券的適用門店列表
1053
搜一搜的結果頁
1054
頂部搜尋框小程式快捷入口
1056
1058
1059
體驗版小程式繫結邀請頁
1064
1067
1068
附近小程式列表廣告
1072
***收款頁面
1073
客服訊息列表下發的小程式訊息卡片
1074
上面有說到 onloauch 和 onshow函式,場景值主要是通過這兩個函式來傳遞。
通過這些場景值,可以方便我們統計小程式訪問的**。在後面針對某些功能做營銷時,能夠輕鬆的獲得有價值的資料。
微信小程式 邏輯層
初始資料 data 是頁面第一次渲染使用的初始資料 因為頁面載入時,data將會以json 字串的形式由邏輯層傳到渲染層,因此data 中的資料必須時可以轉成 json 的型別 字串 數字 布林值 物件 陣列 同大多數 mvvm 框架語言一樣,也可以實現邏輯層到渲染層的雙向繫結。生命週期 函式 有 ...
微信小程式 邏輯與介面分離結構
學習之路 ui元件 基本元件 icon 圖示 type 用於指定型別 success,success no circle,info,warn,waiting,cancel,download,search,clear size 用於指定大小 預設20 color 用於指定顏色 與css一樣 text ...
微信小程式學習三
接上篇 編譯的時候,在某個頁面編譯希望停留在此頁面的話,可以新增編譯,修改普通編譯為自定義編譯 首頁 首先新增乙個view容器 關於小程式的容器在文件中的元件可看到 在 view 中新增輪播圖 在index.js檔案中新增background 輪播陣列 key值 this自身為鍵了,注意此時自身應是...