WXML(WeiXin Markup Language)是微信的一套標簽語言,結合基礎組件、事件系統,可以構建出頁面的結構。
(小安娜:好像很厲害的樣子,那基礎組件、事件系統是什么?感覺更厲害,因為必須結合它們。),基礎組件類似HTML中的標簽,事件系統是JavaScript中的事件,可處理邏輯反應到界面上;wxml只是一個文件格式,如果沒有組件和事件它沒任何用處,又如果把組件、事件寫在txt文檔里面也沒任何用處,所以沒有誰更厲害,相輔相成的關系。(小安娜:嗦嘎,就好像ap、ad、adc的關系,一起才最強)
用以下一些簡單的例子來看看 WXML 具有什么能力:數據綁定
WXML 中的動態數據均來自對應** Page 的 data 對象**。簡單綁定
數據綁定使用 Mustache 語法(雙大括號)將變量包起來,可以作用于以下:
(小安娜:等等,有沒有點誠意,Mustache是什么都不知道!),Mustache是基于JavaScript實現的模板解析引擎,等等...總之它非常方便和好用。(小安娜:我去,你自己也不知道是什么吧)
內容
<view> {{ message }} </view>
Page({ data: { message: 'Hello MINA!' } })
顯示結果:
(小安娜:<view>代表什么意思,記得HTML中沒這樣的標簽啊?),這就是基礎組件,view組件代表視圖容器,可以理解成HTML中的DIV標簽。組件屬性(需要在雙引號之內)
<view id="item-{{id}}">id="item-{{id}}"</view>
Page({ data: { id: 0 } })
顯示結果:
<view wx:if="{{condition}}">你看得見我嗎?</view>
Page({ data: { condition: true } })
顯示結果:
(小安娜:我剛剛試了,condition改成false就看不見我了!),是的,改成false就表示條件為假,view組件里面的內容就不會顯示了。(小安娜:哦明白了,雖然我不想看見你,為了學好小程序還是改成true吧)關鍵字(需要在雙引號之內)
true:boolean 類型的 true,代表真值。
false: boolean 類型的 false,代表假值。
<checkbox checked="{{false}}" />默認沒選中
特別注意:不要直接寫 checked="false",這時候"false"是一個字符串,(JavaScript中非0為真、非空位真)轉成boolean類型后代表真值。
(小安娜:那這個checkbox是不是和HTML的復選框一樣?),沒錯啦,但checkbox組件更團結,更多是以組的概念存在,例如我們都會用checkbox-group包括起所有同類型的checkbox組件,后面用到自然會明白了。(小安娜:啊啊抓狂了,又多了個checkbox-group,感覺沒耐心學了),可別這樣想,基礎都是乏味的,可是帶你飛之前要先帶你走,下篇文章我們做案例就會感覺很有意思了。(小安娜:知道啦,那我可以直接看下一篇不^_^),繼續...
所以顯示結果: