武装少女在线观看高清完整版免费,丝袜+亚洲区,少妇被cao高潮呻吟声,午夜伦情电午夜伦情电影,日日躁夜夜躁狠狠躁

小程序模板網(wǎng)

說說微信小程序開發(fā)的那些坑--setData

發(fā)布時(shí)間:2018-04-26 12:07 所屬欄目:小程序開發(fā)教程

this.setData估計(jì)是小程序中最經(jīng)常用到的一個(gè)方法,但是要注意其實(shí)他是有限制的,忽略這些限制的話,會(huì)導(dǎo)致數(shù)據(jù)無法更新

setData的反模式:
-- 短時(shí)間頻繁進(jìn)行setData操作
--頁面進(jìn)入后臺(tái)后依然進(jìn)行setData操作
-- 使用setData一次性設(shè)置太多的數(shù)據(jù)

這里重點(diǎn)說一下第3點(diǎn),獲取更新列表的時(shí)候非常容易觸犯第三點(diǎn),舉個(gè)栗子:
假設(shè)Page中data有items的數(shù)據(jù),裝著列表的數(shù)據(jù)

 Page({
  data: {
    items: [],
  }
});

一般情況下,更新items的操作可能如下:

loadItems() {
    //假設(shè)通過API獲取到新的列表數(shù)據(jù):newItems
    const { items } = this.data;
    this.setData({
    items: items.concat(newItems)
  })
}

如果完整items的數(shù)據(jù)量不大的時(shí)候,這樣做也是可以的,但是列表的數(shù)據(jù)比較多的時(shí)候,后面loadItems時(shí)setData的數(shù)據(jù)就會(huì)變很大,超過一定值(1048576)后就會(huì)報(bào)以下錯(cuò)誤,然后列表無法再加載更多

數(shù)據(jù)傳輸長(zhǎng)度為 xxxxxx 已經(jīng)超過最大長(zhǎng)度 1048576

若遇到這樣的情況,我的解決方法是

loadItems() {
    //依然假設(shè)通過API獲取到新的列表數(shù)據(jù):newItems
    const { items } = this.data;
    const start = items.length;
    const updateItems = newItems.reduce((updateItems, item, index) => {
        const key = `items[${start + index}]`;
        updateItems[key] = item; 
        return updateItems;
    }, {})
  //updateItems 示例: { items[0]: 'content', item[1]: 'content', ... }
  this.setData(updateItems)
}

以上是我開發(fā)時(shí)遇到的坑,歡迎大家探討指導(dǎo),感謝閱讀



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.kknew.com.cn/wxmini/doc/course/24115.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢: 點(diǎn)擊咨詢
在線客服
易小優(yōu)
轉(zhuǎn)人工 ×