ウィジェットの多層ループによるページロードの遅い問題の解決
3311 ワード
ウィジェット多層ループネストによるロードの遅延
ループを使用する場合は、最終的に必要なデータを複数回ループリストで見つける必要がありますが、インタフェースやページのロードが遅くなります.この場合、ループを個別に取り出し、ループをトリガーすることをお勧めします.次の正しいインスタンスをループし終わるのではなく、ループを実行します.
let obj = this.data.myDefaultCar;
let setId = '';
let arry1 = [];
let arry2 = [];
if (this.data.myDefaultCar) {
this.setData({
curClass: {
gcName: obj.zichexi,
scName: obj.brandName,
gcId: ''
},
})
let newList = this.data.carArr;
newList.forEach(item => { //
let newObj = item.brands
for (var k in newObj) {
if (newObj[k].brandName === this.data.myDefaultCar.brandName) {
this.setData({
toView: 'a_' + k,
setId: newObj[k].brandId,
arry1: item.brands
})
// console.log(k + ' ' + this.data.toView);
}
}
});
this.data.arry1.forEach(res => { //
if (res.brandId == this.data.setId) {
res.childShow = !res.childShow;
} else {
res.childShow = true;
}
this.setData({
carArr: newList,
arry2: res.factoryList
});
return true;
})
this.data.arry2.forEach(respone => { // id
if (respone.factoryName == this.data.myDefaultCar.zichexi) {
this.setData({
factoryid: respone.factoryid
})
}
});
this.getStoreGoods()
}
エラー・インスタンス
let obj = this.data.myDefaultCar
let setId = ''
if (this.data.myDefaultCar) {
this.setData({
curClass: {
gcName: obj.zichexi,
scName: obj.brandName,
gcId: ''
},
})
let newList = this.data.carArr;
newList.forEach(item => {
let newObj = item.brands
for (var k in newObj) {
if (newObj[k].brandName === this.data.myDefaultCar.brandName) {
console.log('*****',newObj[k].brandId)
this.setData({
toView: 'a_' + k,
setId: newObj[k].brandId
})
console.log(k + ' ' + this.data.toView);
}
}
newObj.forEach(res => {
if (res.brandId == this.data.setId) {
res.childShow = !res.childShow;
} else {
res.childShow = true;
}
this.setData({
carArr:newList
});
return true;
if (res.brandName == this.data.myDefaultCar.brandName) {
this.setData({
CarParentId: res.brandId
})
res.factoryList.forEach(respone => {
if (respone.factoryName == this.data.myDefaultCar.zichexi) {
this.setData({
factoryid: respone.factoryid
})
}
});
}
})
});
this.getStoreGoods()
}
この2種類のロード速度には雲泥の差があるので、これからは注意しましょう.