微信小程序兼容接口及小程序兼容組件
日期:2017-12-27 作者:管理員 來源:互聯網
微信小程序的功能不斷的增加,但是舊版本的微信客戶端并不支持新功能,所以在使用這些新能力的時候需要做兼容,文檔會在組件,API等頁面描述中帶上各個功能所支持的版本號,可以通過wx.getSystemInfo或者wx.getSystemInfoSync獲取到微信小程序的基礎庫版本號,也可以通過 wx.canIUse 詳情 來判斷是否可以在該基礎庫版本下直接使用對應的API或者組件。
微信小程序兼容方式 - 組件
對于組件,新增的屬性在舊版本上不會被處理,不過也不會報錯。如果特殊場景需要對舊版本做一些降級處理,可以這樣子做。
Page({ data: { canIUse: wx.canIUse('button.open-type.contact') } })
<button wx:if="{{canIUse}}" open-type="contact"> 客服消息 </button> <contact-button wx:else></contact-button>
微信小程序兼容方式 - 接口
對于新增的 API,可以用以下代碼來判斷是否支持用戶的手機。
if (wx.openBluetoothAdapter) { wx.openBluetoothAdapter() } else { // 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示 wx.showModal({ title: '提示', content: '當前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。' }) }
微信小程序兼容方式 - 參數
對于 API 的參數或者返回值有新增的參數,可以判斷用以下代碼判斷。
wx.showModal({ success: function(res) { if (wx.canIUse('showModal.cancel')) { console.log(res.cancel) } } })
微信小程序基礎組件
框架為開發者提供了一系列基礎組件,開發者可以通過組合這些基礎組件進行快速開發。
什么是組件:
組件是視圖層的基本組成單元。
組件自帶一些功能與微信風格的樣式。
一個組件通常包括開始標簽和結束標簽,屬性用來修飾這個組件,內容在兩個標簽之內。
<tagname property="value"> Content goes here ... </tagname>
注意:所有組件與屬性都是小寫,以連字符-連接
屬性類型
類型 | 描述 | 注解 |
---|---|---|
Boolean | 布爾值 | 組件寫上該屬性,不管該屬性等于什么,其值都為true,只有組件上沒有寫該屬性時,屬性值才為false。如果屬性值為變量,變量的值會被轉換為Boolean類型 |
Number | 數字 | 1, 2.5 |
String | 字符串 | "string" |
Array | 數組 | [ 1, "string" ] |
Object | 對象 | { key: value } |
EventHandler | 事件處理函數名 | "handlerName" 是 Page中定義的事件處理函數名 |
Any | 任意屬性 |
共同屬性類型
所有組件都有的屬性:
屬性名 | 類型 | 描述 | 注解 |
---|---|---|---|
id | String | 組件的唯一標示 | 保持整個頁面唯一 |
class | String | 組件的樣式類 | 在對應的 WXSS 中定義的樣式類 |
style | String | 組件的內聯樣式 | 可以動態設置的內聯樣式 |
hidden | Boolean | 組件是否顯示 | 所有組件默認顯示 |
data-* | Any | 自定義屬性 | 組件上觸發的事件時,會發送給事件處理函數 |
bind* / catch* | EventHandler | 組件的事件 | 詳見事件 |
掃二維碼手機查看該文章
- 上一篇:微信小程序之Wi-Fi-小程序打通接口文檔
- 下一篇:微信小程序常見問題