Приложение написано с использованием Ionic. У меня есть корзина, в которую я добавляю продукты. Продукт является объектом с примечанием и свойством количества. После того как я использую this.store.dispatch(new PushProductAction({ product }));
, свойство заметки объединяется с самим собой, т. Е. Я добавляю 3 товара в корзину с пометкой «холодная», в корзине этот продукт будет иметь свойство заметки, равное «coldcoldcold».
приложение-state.ts
export class AppState {
categories: Category[];
shopcart: ShopCart;
profile: Profile;
userdata: UserData;
}
продакт-info.ts
constructor(
private events: Events,
public store: Store<AppState>,
}
pushToCart(product: Product) {
product.quantity = product.quantity ? ++product.quantity : 1;
product.withHalf = this.halfProductStatus;
this.store.dispatch(new PushProductAction({ product }));
}
После добавления товара:
goToConfirm(event, desktop = false) {
event.preventDefault();
event.stopPropagation();
jQuery.fancybox.close();
jQuery('.fancybox-close-small').trigger('click');
for (let index = 0; index < this.count; index++) {
this.pushToCart(this.product);
}
this.fixDesign.CreateToast('Product has been added to cart successfuly', 'successToast');
}
actions.ts
export class PushProductAction implements Action {
readonly type = ActionTypes.PUSH_CART;
constructor(public payload: { product: Product; half?: boolean }) {
console.log('PushProductAction');
}
}
P.S. Я новичок в угловой, если вам нужно больше фрагментов кода, пожалуйста, дайте мне знать.