buttonClick(e){ // 当前商品的id号 var goodsindex=e.currentTarget.dataset.index console.log(goodsindex); // 商品信息数组 let currentGoodsList = this.data.currentGoodsList; // 筛选出当前选择的那个商品,并将其作为单个对象存储到 currentGoodsList 中 currentGoodsList.push(this.data.goodsList[this.properties.LeftIndex].find(x => x.id === goodsindex)); // 将currentGoodsList数组赋值给data中的currentGoodsList this.setData({ currentGoodsList: currentGoodsList }); console.log(this.data.currentGoodsList.id); //组织一个商品的信息对象 const goods={ goods_id:this.data.currentGoodsList.cmtcount, // 商品id goods_name:this.data.currentGoodsList.title, // 商品名称 goods_price:this.data.currentGoodsList.price, // 商品的价格 goods_count:1, // 商品的数量 goods_img:this.data.currentGoodsList.img, // 商品的图片 goods_state:true // 商品的勾选状态 } console.log(goods); // 将组织好的商品信息存储到store中 this.addToCart(goods) },帮我解决goods对象中属性的值是undefind
时间: 2024-02-15 15:01:28 浏览: 69
在组织 `goods` 对象时,使用了 `this.data.currentGoodsList` 来获取当前商品的信息,但是 `currentGoodsList` 数组中存储的是一个对象数组,而不是单个对象。因此,在获取当前商品的信息时,需要指定数组中的某个元素,例如数组中的第一个元素。修改代码如下:
```
buttonClick(e){
// 当前商品的id号
var goodsindex=e.currentTarget.dataset.index
console.log(goodsindex);
// 商品信息数组
let currentGoodsList = this.data.currentGoodsList;
// 筛选出当前选择的那个商品,并将其作为单个对象存储到 currentGoodsList 中
currentGoodsList.push(this.data.goodsList[this.properties.LeftIndex].find(x => x.id === goodsindex));
// 将currentGoodsList数组赋值给data中的currentGoodsList
this.setData({
currentGoodsList: currentGoodsList
});
console.log(this.data.currentGoodsList.id);
//组织一个商品的信息对象
const goods={
goods_id:this.data.currentGoodsList[0].cmtcount, // 商品id
goods_name:this.data.currentGoodsList[0].title, // 商品名称
goods_price:this.data.currentGoodsList[0].price, // 商品的价格
goods_count:1, // 商品的数量
goods_img:this.data.currentGoodsList[0].img, // 商品的图片
goods_state:true // 商品的勾选状态
}
console.log(goods);
// 将组织好的商品信息存储到store中
this.addToCart(goods)
}
```
修改后,`goods` 对象中的属性值应该就不会是 `undefined` 了。
阅读全文