Метод отправки Angular @ ngrx / store объединяет свойство объекта с самим собой - PullRequest
0 голосов
/ 09 ноября 2018

Приложение написано с использованием 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. Я новичок в угловой, если вам нужно больше фрагментов кода, пожалуйста, дайте мне знать.

...