微信小程序開發---視圖層(View)


WXML

WXML能力:

  • 數據綁定
  • 列表渲染
  • 條件渲染
  • 模板
  • 事件

數據綁定

  數據綁定使用 Mustache 語法(雙大括號)將變量包起來,可作用於內容,組件屬性(需要在雙引號之內),控制屬性(需要在雙引號之內),關鍵字(需要在雙引號之內),運算,邏輯判斷,字符串運算,數據路徑運算,組合,數組,對象。

  詳細內容見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/data.html

列表渲染

wx:for

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

wx:key

  如果列表中項目的位置會動態改變或者有新的項目添加到列表中,並且希望列表中的項目保持自己的特征和狀態(如 <input> 中的輸入內容,<switch>的選中狀態),需要使用 wx:key 來指定列表中項目的唯一的標識符。

wx:key 的值以兩種形式提供

  1. 字符串,代表在 for 循環的 array 中 item 的某個 property,該 property 的值需要是列表中唯一的字符串或數字,且不能動態改變。
  2. 保留關鍵字 *this 代表在 for 循環中的 item 本身,這種表示需要 item 本身是一個唯一的字符串或者數字,如:

當數據改變觸發渲染層重新渲染的時候,會校正帶有 key 的組件,框架會確保他們被重新排序,而不是重新創建,以確保使組件保持自身的狀態,並且提高列表渲染時的效率

詳細見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/list.html

條件渲染

  • 使用 wx:if="{{condition}}" 來判斷是否需要渲染該代碼塊
  • 用 wx:elif 和 wx:else 來添加一個 else 塊

  • 如果要一次性判斷多個組件標簽,可以使用一個 <block/> 標簽將多個組件包裝起來,並在上邊使用 wx:if 控制屬性。

  • wx:if 在隱藏的時候不渲染,而 hidden 在隱藏時仍然渲染,只是不呈現。

詳細見: https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/conditional.html

模板

  <template>可以在模板中定義代碼片段,然后在不同的地方調用。

  • 使用name屬性作為模板名字
  • 使用is屬性,聲明需要的使用的模板,然后將模板所需要的data傳入

詳細見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/template.html

**事件**

  不再贅述,詳細見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

  冒泡事件與非冒泡事件區別:是否向父節點傳遞,也就是說子節點觸發事件,父節點也能接收的是冒泡事件

  事件綁定和冒泡:bind事件綁定不會阻止冒泡事件向上冒泡,catch事件綁定可以阻止冒泡事件向上冒泡。

引用

  通過import和include來引用文件。注意作用域。

  • C import B,B import A,在C中可以使用B定義的template,在B中可以使用A定義的template,但是C不能使用A定義的template
  • include 可以將目標文件除了 <template/><wxs/> 外的整個代碼引入,相當於是拷貝到 include 位置

詳細見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/import.html

WXSS

WXSS 具有 CSS 大部分特性。同時為了更適合開發微信小程序,WXSS 對 CSS 進行了擴充以及修改。與 CSS 相比,WXSS 擴展的特性有:尺寸單位,樣式導入

詳細見:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxss.html

WXS

WXS(WeiXin Script)是小程序的一套腳本語言,結合 WXML,可以構建出頁面的結構。

注意

  1. wxs 不依賴於運行時的基礎庫版本,可以在所有版本的小程序中運行。
  2. wxs 與 javascript 是不同的語言,有自己的語法,並不和 javascript 一致。
  3. wxs 的運行環境和其他 javascript 代碼是隔離的,wxs 中不能調用其他 javascript 文件中定義的函數,也不能調用小程序提供的API。
  4. wxs 函數不能作為組件的事件回調。
  5. 由於運行環境的差異,在 iOS 設備上小程序內的 wxs 會比 javascript 代碼快 2 ~ 20 倍。在 android 設備上二者運行效率無差異

詳細見:https://www.w3cschool.cn/weixinapp/weixinapp-t71j2czl.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM