<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哈哈~
默默无闻的余小浪
例如修改大数组中的某条数据
let {index,ind} = ev.currentTarget.dataset;
// 这里的index,ind 是事件传递过来的数组索引 index 是 大数组中的单个元素 【[],[]】 即 []
// ind是 [] 小数组中的单个元素
this.setData({
[`mrData[${index}][${ind}].name`]:'余'
})
修改的时候 针对具体的某个值修改 setData就不会一次性传输大量的数据了
完整写法:
对对 就是这个样子的 很nice
这边为什么要提前保存this呢?this.data的this不也是指向当前page实例么? 小白勿喷,谢谢
没错的 但是 我自己写的时候有个习惯 就是防止 this指向出现问题 提前把 page实例对象赋值给一个变量 个人习惯 可以忽略 O(∩_∩)O哈哈~
声明一次就可以了 声明全局 that就可以了
秒啊~(王司徒脸~~~
可以想象到的表情 哈哈哈
可以,受用
我准备再写一篇文章呢
可以,期待学习更多
其实更想看的是你的源码,学习下你的编程方式和代码结构,建议尽量把可看的源码公布出来做贡献呢
学到了。
(#^.^#)
受教🙏
点个赞呗
这好,要mark下!
<view>{{~~(0.1122)}} </view>
这样可以取整;-->“向下取整”
是的 我马上备注一下
期待更多
好 我会努力的
妈妈再也不担心setData一次传输大量数据了