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