내 Angular 앱에는 카트에 추가 할 수있는 개체 목록이 있는데, 카트에 항목이 추가 될 때 카트를 로컬 저장소에 저장할 때 문제는 해당 항목이 제품 세부 정보에서 추가된다는 것입니다 ( 항목 이미지가 큰 이미지) 곧 메모리가 종료되었음을 알리는 localstorage 오류가 발생합니다.
그래서 나는 항목이 항목 세부 사항에서 추가 될 때 이미지를 null로 설정하고 사용자가 카트로 경로를 변경하면 API를 호출하여 이미지가없는 모든 제품의 이미지를 가져 오는 방식으로 관리합니다. .
문제는 내 장바구니 서비스의 장바구니에 항목을 추가하는 기능이 다음과 같다는 것입니다.
addToCart(product: Plu, big_image?: boolean): any{
if (big_image) {
product.img = null;
}
this.carrello.plu.push({ ...product});
this.cartTotal();
}
하지만 제품으로 : Plu는 ref입니다. 상세 항목 페이지의 실제 Plu 이미지도 null로 설정됩니다.
그렇다면 Plu 이미지를 추가하기 전에 null로 설정하는 가장 좋은 솔루션은 this.carrello.plu
무엇입니까?
나는 다음과 같은 것에 대해 생각하고 있었다.
addToCart(product: Plu, big_image?: boolean): any{
const clone = Object.assign({}, product);
if (big_image) {
clone.img = null;
}
this.carrello.plu.push({ ...clone });
this.cartTotal();
}
그러나 그것이 최선의 해결책인지 알 것입니다 ...
다음과 같이 할 수 있습니다.
addToCart(product: Plu, big_image?: boolean): any{
this.carrello.plu.push({ ...product, img: big_image ? null : product.img});
this.cartTotal();
}
또한 작은 말 : null
Angular 및 Typescript에서 사용하지 마십시오.undefined
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다