1. 程式人生 > >知了堂學習筆記-微信小程序框架

知了堂學習筆記-微信小程序框架

-s 網絡 事件 數據 eve 代碼 icon 式表 包含

開發者文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html

一.文件結構

小程序包含一個描述整體程序的app和多個描述各自頁面的page。

一個小程序主題部分由三個文件組成,必須放在項目的根目錄,

如下:

app.js 必填 小程序邏輯

app.json 必填 小程序公共設置

app.wxss 否 小程序公共樣式

一個小程序頁面由四個文件組成,

分別是:

js 必填 頁面邏輯

wxml 必填 頁面結構

wxss 否 頁面樣式表

json 否 頁面配置

註意:為了方便開發者減少配置項,描述頁面的四個文件必須具有相同的路徑和文件名

二、配置

app.json文件用來對微信小程序進行全局配置,決定頁面文件的路徑、窗口表現、設置網絡超時時間、設置多tab等。

pages

接受一個數組,每一項都是字符串,來指定小程序有哪些頁面組成。每一項代表對應頁面

【路徑+文件名】信息,數組的第一項小程序的初始頁面。小程序中新增/減少頁面,都需要對pages數組進行修改。文件名不需要寫文件後綴,因為框架會自動去尋找路徑下.json,.js,.wxml,.wxss四個文件進行整合。

如開發目錄為:

技術分享圖片

則需要在app.json中寫:

技術分享圖片

tabBar

如果小程序是一個多tab應用(客戶端窗口的底部或頂部有tab欄可以切換頁面),可以通過tabBar配置項指定tab欄的表現,以及tab切換時顯示的對應頁面。

Tip:

1.當設置position為top時,將不會顯示icon

2.tabBar中的list是一個數組,只能配置最少2個、最多5個tab(太多圖片過小影響用戶體驗),tab按數組的順序排序。

屬性說明:

技術分享圖片

其中list接受一個數組,數組中的每一項都是一個對象,其屬性值如下:

技術分享圖片

三、頁面路由

在小程序中所有頁面的路由全部由框架進行管理。

頁面棧

框架以棧的形式維護了當前的所有頁面。當發生路由切換的時候,頁面棧的表現如下: 技術分享圖片

路由方式

對於路由的觸發方式以及頁面生命周期函數如下:

技術分享圖片

註意:打開新頁面方式無法路由帶有Tab的頁面

四、視圖層

數據綁定

WXML中的動態數據均來自對應的Page的data。

簡單的綁定

數據綁定使用Mustache語法(雙大括號)將變量包起來(類似C語言中‘\n‘),可以作用於:

內容

技術分享圖片

運算

可以在{{}}內進行簡單的運算,如

三元運算

技術分享圖片

五、列表渲染

wx:for

在組件上使用wx:for控制屬性綁定一個數組,即可使用數組中各項的數據重復渲染該數組。

默認數組的當前項的下標變量名為index,數組當前項的變量名默認為item

技術分享圖片

使用wx:for-item可以指定當前數組當前元素的變量名,

使用wx:for-index可以指定當前下標的變量名:

技術分享圖片

wx:for也可以嵌套,下邊是一個九九乘法表

技術分享圖片

六、條件渲染

wx:if

在框架中,使用wx:if="{{condition}}"來判斷是否需要渲染該代碼塊:

技術分享圖片

也可以用wx:elif和wx:else來添加一個else塊:

技術分享圖片

七、事件

什麽是事件

·事件是視圖層到邏輯層的通訊方式。

·事件可以將用戶的行為反饋到邏輯層進行處理。

·事件可以綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。

·事件對象可以攜帶額外信息,如id,dataset,touches.

事件的使用方式

·在組件中綁定一個事件處理函數。

如bindtap,當用戶點擊該組件的時候會在該頁面對應的Page中找到相應的事件處理函數。

技術分享圖片

·在相應的Page定義中寫上相應的事件處理函數,參數是event。

技術分享圖片

·可以看到log出來的信息大致如下:

技術分享圖片

八、WXSS

WXX用來決定WXML的組件應該怎麽顯示。

尺寸單位

·rpx:可以根據屏幕寬度進行自適應。技術分享圖片

建議:開發微信小程序時設計師可以用iPhone6作為視覺稿的標準。

註意:在較小的屏幕上不可避免的會用一些毛刺,請在開發時盡量避免這種情況。

選擇器

目前支持的選擇器有:

技術分享圖片

全局樣式與局部樣式

定義在app.wxss中的樣式為全局樣式,作用於每一個頁面。在page的wxss文件中定義的樣式為局部樣式,只作用在對應的頁面,並會覆蓋app.wxss中相同的選擇器

2018/1/22

知了堂有溫度的大學生眾籌學習社區


知了堂學習筆記-微信小程序框架