评论

干货

写项目中的一些个人技巧 都是个人意见 欢迎各位大佬亲临指导

<view>{{~~(1.999)}} </view>

这样可以取整;
注意:是向下取整的

<view>{{~~(1.999)}} </view>
最终渲染为 <view>1</view> 感谢 寒雪 提醒 .

为了防止setData一次传输大量的代码导致页面卡顿或者报错,个人建议使用下面的做法:

滚动加载或者点击加载更多数据的时候,我们一般会采取分页的形式,后端一次会给我10条数据或者5条 给我们的数据一般都是数组

page({
data:{
mrData:[]
}
})

我们把从后端拿到的数据这样做 【我是第一次获取的数据是一个数组】

当用户滚动加载的时候 从后台获取到第二次数据
【我是第一次获取的数据,我是第二次获取的数据】

具体写法
let that = this;
this.setData({
[mrData[${that.data.mrData.length}]]:后台给的数组
})
不知道为什么 我写上 ``不显示了 记住是利用 ES6字符串模板 其转化后为
this.setData({
[‘mrData[0]’]:后台给的数组
})

循环数据的话
<block wx:for=’{{mrData}}’ wx:key>
<block wx:for=’{{item}}’ wx:key wx:for-item=‘it’ wx:for-index=‘ind’>
{{it}}
</block>
</block>

这样就可以了 这样做的好处就是 每次修改只修改部分 这样就解决了 每次滚动加载的是 我们都要重新赋值大量的数据

我还是粘贴一下代码的好 如下:

渲染后的页面出现的效果 如下

点击第一个 小浪花

成功改变了 nice

一般的写法是这样的 不知道和你写的是否一样

从后台获取数据后 然后把这个数据 push到原来的大数组中
然后再setData 每次setData的数据都会增大 最后超过限制导致页面卡顿影响性能 有可能还会报错

还有就是 第一次写文章 不知道这样写是否有人能看懂 ,希望大家能由此举一反三,看到类似的问题可以想到这样的方法 虽然有些繁琐 但是真的能优化性能,如果能帮到你 希望动动小手指 给我点个赞吧~
O(∩_∩)O哈哈~
默默无闻的余小浪

最后一次编辑于  2019-05-22  
点赞 18
收藏
评论

19 个评论

  • 2019-05-16

    有点骚

    2019-05-16
    赞同 1
    回复 1
    • 大胖余
      大胖余
      2019-05-16

      哈哈哈

      2019-05-16
      1
      回复
  • 老五
    老五
    2019-05-16

    看了几遍终于看懂,好文,谢谢分享

    2019-05-16
    赞同 1
    回复
  • 2019-05-15

    看了几遍终于看懂,好文,谢谢分享

    2019-05-15
    赞同 1
    回复
  • momo
    momo
    2021-08-03

    二进制 位运算符

    https://wangdoc.com/javascript/operators/bit.html

    2021-08-03
    赞同
    回复
  • momo
    momo
    2021-08-03

    nbnb 学习了

    2021-08-03
    赞同
    回复
  • tiandaodao
    tiandaodao
    2019-05-22

    具体写法
    let that = this;
    this.setData({
    [mrData[${that.data.mrData.length}]]:后台给的数组
    })
    不知道为什么 我写上 ``不显示了 记住是利用 ES6字符串模板 其转化后为
    this.setData({
    ‘mrData[0]’:后台给的数组
    })   ES6字符串模板 其转化

    2019-05-22
    赞同
    回复 2
    • 大胖余
      大胖余
      2019-05-22

      ????

      2019-05-22
      回复
    • 大胖余
      大胖余
      2019-05-22

      明白明白了 哈哈哈    所以我上了代码  哈哈哈 还是代码能最好的表达

      2019-05-22
      回复
  • 大胖余
    大胖余
    2019-05-16

    发一下代码









    点击第一个后


    2019-05-16
    赞同
    回复
  • 小包
    小包
    2019-05-16

    比如:

    firstData: [1, 2, 3, 4]

    这个时候后端传了个数组:[4, 5, 6, 7]

    按照你的方法合并的数组:[1,2,3,4,[4,5,6,7]]

    是这个意思吗?


    2019-05-16
    赞同
    回复 4
    • 小包
      小包
      2019-05-16

      我好像懂了,是不是一开始就是数组包括数组,只是往里面添加数组

      2019-05-16
      1
      回复
    • 大胖余
      大胖余
      2019-05-16回复小包

      对对  然后 修改或者添加数据的时候  只需要修改这个大数组里面的单个元素就可以了


      这样你每次修改的数据就很小   因为修改的只是数组里面的单个元素  这样就不会出现一次性大量赋值数据的情况


      希望借此大家可以举一反三  一遇到类似的情况就用这种方法

      2019-05-16
      1
      回复
    • 小包
      小包
      2019-05-16回复大胖余

      很好,get到了,之前写动态加载都是一大堆一大堆数据的

      2019-05-16
      1
      回复
    • 大胖余
      大胖余
      2019-05-16回复小包

      等一下 你再刷新一下 我粘贴了代码  这样会更加理解

      2019-05-16
      回复
  • 大胖余
    大胖余
    2019-05-16

    第一次写文章   哈哈哈  谢谢各位   欢迎亲临指导

    2019-05-16
    赞同
    回复

正在加载...

登录 后发表内容