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