小程序之上拉加載照片以及圖片加載延遲解決之道

說(shuō)在前面

最近由于項(xiàng)目需要所以學(xué)了下小程序,也做了一些東西点待,隨后便有了以下的一些總結(jié)了烈菌,現(xiàn)在說(shuō)說(shuō)在小程序中如何進(jìn)行上拉加載照片和進(jìn)行懶加載。


問(wèn)題描述

無(wú)論是app還是小程序瓣喊,加載圖片多的時(shí)候都會(huì)出現(xiàn)圖片加載緩慢和流量耗費(fèi)多的問(wèn)題坡慌。而我在小程序中的解決方案是上拉加載和進(jìn)行“變相懶加載”。


老規(guī)矩藻三,以源碼為導(dǎo)向講解上拉加載


photos.wxml

    <scroll-view class="scroll" style="height:{{clientHeight}}px;" scroll-y="true" bindscrolltolower="loadMore" >
        //放置圖片的代碼
    </scroll-view>

源碼解讀:這里只需要關(guān)注bindscrolltolower函數(shù)即可洪橘,它意思是上拉的時(shí)候觸發(fā)的函數(shù),而這里觸發(fā)的函數(shù)是loadMore棵帽。

photos.js

loadMore: function(e){
this.showLoading('正在加載圖片中');
var that = this;
currentPage++;
wx.request({
        url: baseUrl  +'pictureController/getPicturesByAid',
        data: {
            pictureAid: albumId,
            pageSize: pageSize,
            currentPage : currentPage
        },
        header: {
            'content-type': 'application/json'
        },
        success: function(res) {
            console.log(res);
            if(res.data.result.length!=0)
            {
                array = array.concat(res.data.result)
                that.setData({
                    array : array
                })
            }
            else
            {
                that.showToast('已加載完全部圖片!');
            }
        },
        complete: function(res){
            that.hideLoading();
        }
    })
}

源碼解讀:js函數(shù)中的一些參數(shù)和函數(shù)我都去掉了熄求,留下這個(gè)loadMore函數(shù),這個(gè)函數(shù)的作用是用pageSize和currentPage做分頁(yè)參數(shù)傳遞到后臺(tái)加載新的數(shù)據(jù)逗概,然后將得到的數(shù)據(jù)res.data.result利用concat函數(shù)連接在array之后弟晚,array函數(shù)的作用是存放之前已經(jīng)加載過(guò)來(lái)的數(shù)據(jù),連接新數(shù)據(jù)結(jié)束后再用一次setData即可逾苫!


現(xiàn)在看看我是如何巧用變相懶加載的


做過(guò)項(xiàng)目的都知道卿城,圖片的懶加載其實(shí)就是在圖片還沒(méi)有加載成功的時(shí)候出現(xiàn)一張默認(rèn)的圖片,這樣可以不至于圖片還沒(méi)有加載成功的時(shí)候出現(xiàn)一大推空白的地方铅搓,我也是因?yàn)樽鲰?xiàng)目出現(xiàn)這種情況之后才開(kāi)始研究如何避開(kāi)這種情況藻雪,大家可以看一下的源碼:

<scroll-view class="scroll" style="height:{{clientHeight}}px;" scroll-y="true" bindscrolltolower="loadMore" >
<view class="function" style="background-image:url({{cryUrl}})" wx:for="{{array}}" wx:for-item="item">
    <image src="{{imageBaseUrl+item.pictureAid+'/'+item.pictureName}}" style="height:95%;width:95%;margin:3px auto;" bindtap="selectPhotos" id="{{imageBaseUrl+item.pictureAid+'/'+item.pictureName}}&{{item.pictureUploadtime}}"/>
</view> 
</scroll-view>

源碼解讀:這個(gè)就是從服務(wù)器獲取圖片數(shù)據(jù)成功之后循環(huán)排列圖片的源碼,重點(diǎn)在于style="background-image:url({{cryUrl}})" 里邊是在圖片還沒(méi)有加載成功之前顯示的一個(gè)div的背景圖片狸吞,而就是這個(gè)背景圖片避開(kāi)了圖標(biāo)沒(méi)加載成功之前空白的尷尬勉耀。


Note:發(fā)布的這些文章全都是自己邊學(xué)邊總結(jié)的,難免有紕漏蹋偏,如果發(fā)現(xiàn)有不足的地方便斥,希望可以指出來(lái),一起學(xué)習(xí)咯威始,么么噠枢纠。
開(kāi)源愛(ài)好者,相信開(kāi)源的力量必將改變世界:
** osc :** https://git.oschina.net/xi_fan
github: https://github.com/wiatingpub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末黎棠,一起剝皮案震驚了整個(gè)濱河市晋渺,隨后出現(xiàn)的幾起案子镰绎,更是在濱河造成了極大的恐慌,老刑警劉巖木西,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畴栖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡八千,警方通過(guò)查閱死者的電腦和手機(jī)吗讶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)恋捆,“玉大人照皆,你說(shuō)我怎么就攤上這事》型#” “怎么了膜毁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)愤钾。 經(jīng)常有香客問(wèn)我瘟滨,道長(zhǎng),這世上最難降的妖魔是什么绰垂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任室奏,我火速辦了婚禮火焰,結(jié)果婚禮上劲装,老公的妹妹穿的比我還像新娘。我一直安慰自己昌简,他們只是感情好占业,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著纯赎,像睡著了一般谦疾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犬金,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天念恍,我揣著相機(jī)與錄音,去河邊找鬼晚顷。 笑死峰伙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的该默。 我是一名探鬼主播瞳氓,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼栓袖!你這毒婦竟也來(lái)了匣摘?” 一聲冷哼從身側(cè)響起店诗,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎音榜,沒(méi)想到半個(gè)月后庞瘸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡囊咏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年恕洲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梅割。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡霜第,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出户辞,到底是詐尸還是另有隱情泌类,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布底燎,位于F島的核電站刃榨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏双仍。R本人自食惡果不足惜枢希,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朱沃。 院中可真熱鬧苞轿,春花似錦、人聲如沸逗物。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翎卓。三九已至契邀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間失暴,已是汗流浹背坯门。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逗扒,地道東北人古戴。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缴阎,于是被迫代替她去往敵國(guó)和親允瞧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,774評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件述暂、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,065評(píng)論 4 62
  • 有些事你知道會(huì)發(fā)生痹升,但你更清楚的知道它不會(huì)現(xiàn)在發(fā)生,糾結(jié)就是你喜歡后者但你又不想放棄前者
    爾耳閱讀 145評(píng)論 0 0
  • 圖片和足球有關(guān)畦韭,雖然自己喜歡足球好多年疼蛾,不過(guò)最近,好像越發(fā)的喜歡艺配,尤其的喜歡察郁,甚至刻意的要表達(dá)這種喜歡。無(wú)非...
    安布爾的lemon_tree閱讀 115評(píng)論 0 0
  • 穿越宇宙01奇怪代碼 地球聯(lián)盟軍成立的第二天转唉,軍部?jī)?nèi)康利斯坦司令官指著一張地形全息圖道:“這個(gè)地點(diǎn)就是天罡要發(fā)送源...
    地球的火星人閱讀 348評(píng)論 0 2