我在cart的某个类上有问题,我必须在工作中使用它。这是此类的代码:
class Cart {
constructor() {
this.key = "IT_SPA_CART";
if (!this.exists()) {
this.setItSpaCart([]);
}
}
get() {
const cookies = document.cookie.split(";");
return cookies.find(cookie => cookie.startsWith(this.key));
}
exists() {
return this.get() !== undefined;
}
getItSpaCart() {
const cookieValue = this.get().slice(12);
const parsedValue = JSON.parse(cookieValue);
return parsedValue;
}
setItSpaCart(value) {
const stringifiedValue = JSON.stringify(value);
document.cookie = `${this.key}=${stringifiedValue}`;
}
add(item) {
const cartValue = this.getItSpaCart();
this.setItSpaCart([...cartValue, item]);
}
remove(item) {
const cartValue = this.getItSpaCart();
const itemInCart = cartValue.findIndex(val => val.name === item.name);
if (itemInCart !== -1) {
cartValue.splice(itemInCart, 1);
this.setItSpaCart(cartValue);
}
}
}
[当我尝试使用此类时,例如使用方法add(),如下所示:
let cart = new Cart();
cart.add([{ num: 1, cost: 2 }, { num: 3, cost: 4 }, { num: 5, cost: 6 }]);
发生此错误:
无法读取Cart.getItSpaCart中未定义的属性'slice',
为什么会这样?
感谢每一个提示。
我在cart的某个类上有问题,我必须在工作中使用它。这是此类的代码:类Cart {Constructor(){this.key =“ IT_SPA_CART”;如果(!this.exists()){this ....
我有同样的问题;-)也许您已经知道如何解决它,但是如果没有解决,也许解决方案是在此行中更改代码:const cookies = document.cookie.split(";");
。我将(“;)更改为(”;“)。
尝试一下