评论

干货

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

<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  
点赞 17
收藏
评论

17 个评论

正在加载...

登录 后发表内容