微信小程式開發系列二:微信小程式的檢視設計
大家如果跟著我第一篇文章 微信小程式開發系列一:微信小程式的申請和開發環境的搭建 一起動手,那麼微信小程式的開發環境一定搭好了。效果就是能把該小程式的體驗版以二維碼的方式傳送給其他朋友使用。
這個系列接下來的文章我們就來研究使用微信開發者工具自動生成的這個小程式的實現檔案。本文以小程式的檢視設計為主,就是下圖所示pages/index目錄裡的index.wxml檔案。
我的日常工作是用一個叫做UI5的前端框架做前端開發,剛好這個框架也支援建立xml格式的檢視(UI), 和微信小程式的wxml非常相似。
做過JSP開發的朋友們,可以把wxml類比成JSP檔案。
wxml原始碼:
<!--index.wxml--><view class="container"><view class="userinfo"><button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="jerry_getUserInfo"> 獲取頭像暱稱 </button><block wx:else><image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image><text class="userinfo-nickname">{{userInfo.nickName}}</text></block></view><view class="usermotto"><text class="user-motto">{{motto}}</text></view></view>
下面逐一解釋每行程式碼。
第二行:<view class="container"> 宣告瞭一個檢視元素,css型別為container。這個container類是微信小程式自帶的,如果刪除,小程式檢視位置會亂掉,參考我下面的測試:
所以需要保留。
第三行: <view class="userinfo"> view元素可以巢狀,相當於原生HTML裡的div元素。此處定義了另一個view元素,css類為userinfo。這個css類不是微信提供的,而是我們自己開發的,位於檔案index.wxss裡:
第四行:
<button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="jerry_getUserInfo"> 獲取頭像暱稱 </button>
定義了一個按鈕,標籤為“獲取頭像暱稱”。
這個按鈕僅當表示式!hasUserInfo && canIUse為true時才顯示。
button是微信小程式框架提供的元件,元件是檢視層的基本組成單元,自帶一些功能與微信風格的樣式。 注意這裡的button標籤並不是HTML原生的標籤。
在微信官網上可以查詢元件的API:
https://developers.weixin.qq.com/miniprogram/dev/component/
下面這兩個屬性的含義:
open-type="getUserInfo": 點了這個按鈕之後,會自動取當前點選了該按鈕的微信使用者的明細資料
bindgetuserinfo="jerry_getUserInfo": 當使用者資料成功取回來之後,執行我們自己開發的回撥函式jerry_getUserInfo, 該函式定義在小程式index/index.js裡。
第五行到第八行:
<block wx:else><image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image><text class="userinfo-nickname">{{userInfo.nickName}}</text></block>
定義了一個block區域,有兩個UI元素組成:image和text。
對image元素,bindtap="bindViewTap", 意思是一旦點選,執行我們在index.js裡實現的事件處理函式bindViewTap。
class="userinfo-avatar": userinfo-avatar也是我們在wxss裡自定義的css類。
src="{{userInfo.avatarUrl}}": 該image的src屬性繫結到資料模型userInfo的欄位avatarUrl上。資料型別userInfo是index.js裡建立的,繫結到當前的檢視上。
而另一個文字元素text顯示的文字繫結到userInfo.nickName上。
我們可以直接在手機上開啟微信小程式的console頁面,從而檢視當前檢視繫結的資料模型userInfo的明細,其中userInfo.nickName包含的值如下:
微信小程式開發系列二:微信小程式的檢視設計
第11行:<text class="user-motto">{{motto}}</text>
純文字元素,顯示的文字繫結到資料模型motto上。這個模型欄位motto硬編碼成Hello World,所以我們最後在小程式上看到顯示的“Hello World"。
這篇文章即整個微信小程式開發系列的第二篇到此結束。下一篇文章我會繼續講解index.js裡的程式碼含義。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2213571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 微信小程式開發系列(一) :開發環境搭建和微信小程式的檢視設計與開發微信小程式開發環境
- 微信小程式開發系列 (四) :微信小程式的頁面跳轉路由設計微信小程式路由
- 微信小程式開發系列七:微信小程式的頁面跳轉微信小程式
- 微信小程式開發系列教程三:微信小程式的除錯方法微信小程式除錯
- 微信小程式開發系列六:微信框架API的呼叫微信小程式框架API
- 微信小程式開發微信小程式
- 微信小程式開發小記微信小程式
- 微信小程式開發之大神之路最全微信小程式開發教程(視訊+精品文章)微信小程式
- 【小程式】微信小程式開發準備微信小程式
- 微信小程式的檢視層總結微信小程式
- 微信小程式開發2微信小程式
- 微信小程式開發教程微信小程式
- 開發微信小程式的作用微信小程式
- 微信小程式開發系列四:微信小程式之控制器的初始化邏輯微信小程式
- 微信小程式開發系列 (二) :微信小程式的單步除錯和控制器實現步驟概述微信小程式除錯
- 微信小程式開發風口下,微信小程式該如何運營?微信小程式
- 微信小程式開發系列五:微信小程式中如何響應使用者輸入事件微信小程式事件
- 微信小程式微信小程式
- 使用mpvue開發微信小程式Vue微信小程式
- 微信小程式開發--『狗蛋TV』微信小程式
- 微信小程式雲開發6微信小程式
- 微信小程式開發神器-Grace微信小程式
- 微信小程式開發精講微信小程式
- 微信小程式藍芽開發微信小程式藍芽
- 微信小程式開發總結微信小程式
- 【微信小程式開發】梔子手作花花微信小程式商城開發最佳實踐微信小程式
- 微信小程式--聊天室小程式(雲開發)微信小程式
- 微信小程式小技巧微信小程式
- 微信小程式元件設計規範微信小程式元件
- 微信小程式(1) 微信小程式TLS版本大於1.2微信小程式TLS
- 微信小程式之小白教程系列 第一篇 微信小程式 — Hello World微信小程式
- 微信小程式:小程式碼、小程式二維碼、普通二維碼微信小程式
- 微信小程式開發02-小程式基本介紹微信小程式
- 微信小程式之-NBA線上直播小程式開發微信小程式
- 微信小程式開發(十一)小程式地圖元件map微信小程式地圖元件
- 微信小程式開發(持續更新)微信小程式
- 微信小程式開發注意事項微信小程式
- 微信小程式學習:雲開發微信小程式