优化这段代码getProductAuctionInfo() { let that = this productAuctionInfo({ productId: that.subjectId }).then(res => { that.Auctionlist = res.data.bidRecord || [] that.$set(that, 'Auctionlist', res.data.bidRecord); if (that.Auctionlist.length > 1) { for (let i = 1; i < that.Auctionlist.length; i++) { that.Auctionlist[0].priceType = 1 that.Auctionlist[i].priceType = 0 } } else if (that.Auctionlist.length > 0) { that.Auctionlist[0].priceType = 1 } // uni.hideLoading() console.log(res, '获取拍卖记录列表成功') }).catch(err => { // uni.hideLoading() console.log(err, '获取拍卖记录列表失败') }) },
时间: 2024-02-16 22:03:12 浏览: 53
这段代码可以进行如下优化:
1. 建议不要使用that变量来保存this,而是使用箭头函数来绑定this,这样可以避免后续使用that变量导致的代码混乱。
2. 在设置Auctionlist的同时,可以使用Vue的$set方法来触发响应式更新,避免因为数据变动而导致的视图更新问题。
3. 在for循环中,可以使用Array的slice方法来实现数组的复制,避免直接修改原数组的风险。
4. 在console.log语句中,可以使用模板字符串来输出日志信息,可以更加简洁和易读。
优化后的代码如下:
```
getProductAuctionInfo() {
productAuctionInfo({
productId: this.subjectId
}).then(res => {
this.Auctionlist = res.data.bidRecord || [];
this.$set(this, 'Auctionlist', res.data.bidRecord);
if (this.Auctionlist.length > 1) {
for (let item of this.Auctionlist.slice(1)) {
item.priceType = 0;
}
this.Auctionlist[0].priceType = 1;
} else if (this.Auctionlist.length > 0) {
this.Auctionlist[0].priceType = 1;
}
// uni.hideLoading()
console.log('获取拍卖记录列表成功', res);
}).catch(err => {
// uni.hideLoading()
console.log('获取拍卖记录列表失败', err);
});
},
```
希望对你有所帮助。
阅读全文