前端UI庫SUI Mobile 不可不知的坑

背景介紹:

所在公司由于技術(shù)團(tuán)隊(duì)小,開發(fā)任務(wù)緊,領(lǐng)導(dǎo)把移動(dòng)端的項(xiàng)目外包了。外包團(tuán)隊(duì)的工程師使用阿里前端團(tuán)隊(duì)出品的SUI Mobile的前端UI庫來開發(fā),所以,我也就理所當(dāng)然地去學(xué)習(xí)官方文檔(http://m.sui.taobao.org/)。

這個(gè)UI庫,其實(shí)是山寨Framework7的。優(yōu)點(diǎn)是足夠地輕量級(jí)、且提供中文文檔。缺點(diǎn)是由于核心開發(fā)人員已經(jīng)離開阿里,本項(xiàng)目已經(jīng)將近一年沒有更新、無人維護(hù)了,基本沒有形成社區(qū)。該作者離職后把SUIMobile項(xiàng)目改了名,叫做Light7(http://www.light7.cn/),修復(fù)了部分bug。覺得SUI Mobile不錯(cuò)的,可以考慮使用Light7.

第一個(gè)坑:必須顯式地調(diào)用$.init()方法。

官方文檔里(http://m.sui.taobao.org/components/)有這么一句話:

如果沒有這樣顯式地調(diào)用初始化方法的話,JavaScript腳本很有可能會(huì)不執(zhí)行。當(dāng)我拿到外包團(tuán)隊(duì)提交的代碼的時(shí)候,我是崩潰的。因?yàn)橛性S多莫名其妙的bug。最后試著加了這段代碼之后,發(fā)現(xiàn)JavaScript才正常地調(diào)用了。

第二個(gè)坑:建議全局禁用自帶的路由$.config = {router: false}。

官方文檔(http://m.sui.taobao.org/components/#router)上介紹說:

`Router默認(rèn)開啟,會(huì)自動(dòng)攔截所有鏈接的Touch行為,如果希望一個(gè)鏈接走瀏覽器原生跳轉(zhuǎn)而不使用router,可以在鏈接上增加class="external"或者自定義屬性,如xxx。如果需要禁用路由功能,那么可以在 zepto 之后, msui 之前使用$.config = {router: false}來禁用.`

我遇到的情況是這樣的:首頁有個(gè)輪播,第一次進(jìn)來首頁可以正常播放。當(dāng)用戶從首頁進(jìn)到其他頁面之后,通過頂部的返回按鈕或者瀏覽器的后退鍵回到首頁時(shí),輪播是卡住的。調(diào)試代碼后,發(fā)現(xiàn)返回后,js腳本是不執(zhí)行的。試著全局禁用了路由之后,輪播可以自動(dòng)播放了,js腳本都能正常執(zhí)行了。


第三個(gè)坑:只支持Zepto.js 不支持jQuery。

眾所周知,Zepto.js雖然比jQuery輕量,但基于jQuery的插件眾多,可以為我們節(jié)省不少重復(fù)造輪子的精力。同時(shí),jQuery效率更高,開發(fā)者也更熟悉jQuery的方法。然而SUI Mobile只支持Zepto.js,這就尷尬了。SUI Mobile在GitHub上有這個(gè)issue(https://github.com/sdc-alibaba/SUI-Mobile/issues/143)。

我們這個(gè)項(xiàng)目的外包團(tuán)隊(duì)也許是因?yàn)檫@個(gè)原因同時(shí)使用了Zepto.js 和jQuery兩個(gè)類庫。由于兩個(gè)類庫都是用“$”,會(huì)導(dǎo)致了莫名其妙的bug。所以,如果你也遇到這種情況,不得不使用兩個(gè)庫的時(shí)候,那么使用Zepto來替換這個(gè)UI庫里提供的js方法中的“$”,來解決命名沖突。

當(dāng)然,如果可以,建議使用Light7來代替SUI Mobile。因?yàn)長(zhǎng)ight7是支持jQuery的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 大部分的后端會(huì)很很鄙視前端。我也不知道為什么,可能大部分人都會(huì)覺得腳本語言根本不算語言。 大多人 會(huì)叫我們切圖仔,...
    小黑的眼閱讀 3,613評(píng)論 0 15
  • 28b222c35e94閱讀 360評(píng)論 0 0
  • 從2017年1月1日寫作至今,113天,我寫了117篇文章,近21萬字。在這以前,我從未對(duì)自己有過如此的設(shè)想。 然...
    安之騰閱讀 1,014評(píng)論 38 39
  • 作者:史遇春 二 漂母小跑著,來到韓信跟前。 “年輕人,您這是怎么啦?” 看著餓得面色灰黃,大汗珠子直冒的韓信,漂...
    塵境心影錄閱讀 576評(píng)論 0 1

友情鏈接更多精彩內(nèi)容