11.28工作笔记
hbuliderX H5配置
修改运行的基础路径 可以改变浏览器地址栏的启动参数 可以改变端口号
scroll-top 滚动位置
单位px rpx 在被设置时页面会滚动到固定位置
=================================================
今天实现的操作一个数组对象的值后同时改变另一个数组对象的值的方法
解决了一个bug
原代码==》
//购物车内的加减操作
cartNum(type, index) {
let CTlist = JSON.parse(JSON.stringify(this.cartList))
if (type == 1) { //减
console.log('购物车减')
if (CTlist[index].num <= 0) {
return;
}
CTlist[index].num--
} else { //加
console.log('购物车加')
if (CTlist[index].num >= 10) { //限购十件
return;
} else {
CTlist[index].num++
}
}
this.cartList = CTlist.filter((item) => {
return item.num > 0
})
console.log("购物车内操作加减", this.cartList)
console.log("二级分类数据", this.clist) //
},
修改后==》用for of循环法来找到id相等的值,然后赋值将其改变,但是到1的情况下就不执行了,因为数组已经为空,所以再用了判断直接修改
//购物车内的加减操作
cartNum(type, index) {
let CTlist = JSON.parse(JSON.stringify(this.cartList))
if (type == 1) { //减
console.log('购物车减')
if (CTlist[index].num <= 0) {
return;
}
CTlist[index].num--
} else { //加
console.log('购物车加')
if (CTlist[index].num >= 10) { //限购十件
return;
} else {
CTlist[index].num++
}
}
//让购物车内的数据影响主页的二级分类数据
if (CTlist[index].num === 0) {//减到0的情况 直接把二级分类的数据跟我内部的数据同步归零
this.clist.filter((item, i) => {
if (item.id == CTlist[index].id) {
this.clist[i].num = CTlist[index].num
}
})
console.log(this.clist)
}
//大于0的筛选进购物车
this.cartList = CTlist.filter((item) => {
return item.num > 0
})
for (let task of this.cartList) {//走到1的情况下 cartlist已是个空数组 无法再继续执行 所以主页数据会停在1不会是0
const itemJson = this.clist.find((item) => {
return item.id === task.id
});
itemJson.num = task.num
// 如果有相同的值那么就返回对应的对象 如果没有则返回 undefined
}
console.log("购物车内操作加减", this.cartList)
console.log("二级分类数据", this.clist) //
},