add(item, counts) {
var cartData = this.getCartDataFromLocal();
if (!cartData) {
cartData = [];
}
var isHadInfo = this._isHasThatOne(item.id, cartData);
//新商品
if (isHadInfo.index == -1) {
item.counts = counts;
item.selectStatus = true; //默认在购物车中为选中状态
cartData.push(item);
}
//已有商品
else {
cartData[isHadInfo.index].counts += counts;
}
this.execSetStorageSync(cartData); //更新本地缓存
return cartData;
};
/*本地缓存 保存/更新*/
execSetStorageSync(data) {
wx.setStorageSync(this._storageKeyName, data);
};
/**
* @return 缓存中购物车缓存信息
*/
getCartDataFromLocal(){
var res = wx.getStorageSync(this._storageKeyName);
if(!res){
res = [];
}
return res;
}
/**判断是否缓存内部购物车中是否存在相对应ID的商品
* @params id 点击的商品Id号
* @params arr 传入数组
* @return result 返回包含index键位的数组
*/
_isHasThatOne(id, arr){
var item,result = { index: -1 };
for(let i=0;i<arr.length;i++){
item = arr[i];
if(id == item.id){
result={
index:i,
data:item
想请教大佬们为何此处缓存cartdata之后,storage内数组全为空;
望知晓的大佬留言原因,720°鞠躬感谢.jpg!!!