data:{
list:[
{id:1,select:false},
{id:2,select:false},
{id:3,select:false},
{id:4,select:false},
]
},
methods:{
handle(){
this.data.list.forEach((v,i)=>{
this.setData({
[`list[${i}].select`]:true
})
})
}
}
你为啥不全部改变成true之后,在setData
const list = [...this.data.list]
list.map(item => {
item.select = true
})
this.setData({ list: list })
先在循环外先声明变量,然后循环内处理变量,最后在循环外直接setData。
遍历中 设置后 导致页面渲染 一次改变就遍历
遍历后 设置后 全部一次更新 一次改变全部元素
疑问:这两种的性能是最后那个比较好吗?第一种方式这样只改变单个值会导致那一项的内容全部遍历还是对比改变的?
第二种方式是有用到对比算法的嘛?如果有那我懂了