前篇文章介紹了小程式的MVC結構:
page.js 即控制層(C),也叫業務邏輯層;
##page.js 中的data屬性,即資料模型層(M);page.wxml 即展現層(V);page.wxss 即css,增強展現層效果。一、資料綁定
如果在data 中定義了某個變量,例如
Page({ data:{ title: '小程序实战教程', desc: '视图层—WXML' } })
#二、資料綁定常用語法
2.1,內容
#2.2,元件屬性(需要在雙引號內)
2.3,控制屬性
< ;view wx:if="{{condition}}">2.4,關鍵字(需要{{ } }內)
2.5,三元運算
#2.6,算數運算
#2.7,字串運算
#2.8,資料路徑運算
程式碼與效果圖:
##
#三、邏輯渲染語法 #或 block wx:if #3.2,wx:for {{index}}: {{item.message}}
#3.1,邏輯判斷wx:if
{{idx}}: {{itemName.message}}
#block wx:for
#3.3,wx:key
如果清單中項目的位置會動態改變或有新的項目加入清單中,並且希望清單中的項目保持自己的特徵和狀態(如< ;input/> 中的輸入內容,
wx:key 的值以兩種形式提供
1)字串,代表在for 迴圈的array 中item 的某個property,該property 的值需要是列表中唯一的字串或數字,且不能動態改變。
2)保留關鍵字*this 代表在for 迴圈中的item 本身,這種表示需要item 本身是一個唯一的字串或數字
當資料改變觸發渲染層重新渲染的時候,會校正帶有key 的元件,框架會確保他們被重新排序,而不是重新創建,以確保使元件保持自身的狀態,並且提高列表渲染時的效率。
#見圖
四、模板
WXML提供模板(template),在不同的地方呼叫。實現復用的效果。
透過標籤:
##定義範本
使用name屬性,作為模板的名字。然後在內定義程式碼片段。使用模板
使用 is 屬性,宣告所需的使用的模板,然後將模板所需的 data 傳入。程式碼如下:
#定義範本
#
註:
#1)is 屬性可以使用Mustache 語法,來動態決定具體需要渲染哪個範本2)模板擁有自己的作用域,只能使用data傳入的資料。
#五、資料組合
tplItem:{
name:'我的範本',
#
陣列
#物件
也可以用擴充運算子... 將一個物件展開。
就是展開屬性,新加的屬性 (如time:2016-11-20),會覆寫tplItem的time。
#
更多微信小程式之視圖層WXML綁定資料、模板、邏... 相關文章請關注PHP中文網!