Angular @ngrx/store dispatch method concatenates an object property with itself









up vote
0
down vote

favorite












The app is written using Ionic. I have a shopping cart where i'm adding products. The product is an object with a note and quantity property. After i use the this.store.dispatch(new PushProductAction( product )); the note property is concatenated with itself, i.e. i'm adding 3 products to cart with a note 'cold', in the cart this product will have the note property equal to 'coldcoldcold'.



app-state.ts



export class AppState 
categories: Category;
shopcart: ShopCart;
profile: Profile;
userdata: UserData;



product-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 ));



After the product is added :



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. I'm a beginner in angular, if you need more code snippets please let me know.










share|improve this question





















  • where is note set?
    – Suraj Rao
    22 hours ago










  • It is in the product.model.ts. (Product class)
    – Mark
    15 hours ago















up vote
0
down vote

favorite












The app is written using Ionic. I have a shopping cart where i'm adding products. The product is an object with a note and quantity property. After i use the this.store.dispatch(new PushProductAction( product )); the note property is concatenated with itself, i.e. i'm adding 3 products to cart with a note 'cold', in the cart this product will have the note property equal to 'coldcoldcold'.



app-state.ts



export class AppState 
categories: Category;
shopcart: ShopCart;
profile: Profile;
userdata: UserData;



product-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 ));



After the product is added :



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. I'm a beginner in angular, if you need more code snippets please let me know.










share|improve this question





















  • where is note set?
    – Suraj Rao
    22 hours ago










  • It is in the product.model.ts. (Product class)
    – Mark
    15 hours ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











The app is written using Ionic. I have a shopping cart where i'm adding products. The product is an object with a note and quantity property. After i use the this.store.dispatch(new PushProductAction( product )); the note property is concatenated with itself, i.e. i'm adding 3 products to cart with a note 'cold', in the cart this product will have the note property equal to 'coldcoldcold'.



app-state.ts



export class AppState 
categories: Category;
shopcart: ShopCart;
profile: Profile;
userdata: UserData;



product-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 ));



After the product is added :



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. I'm a beginner in angular, if you need more code snippets please let me know.










share|improve this question













The app is written using Ionic. I have a shopping cart where i'm adding products. The product is an object with a note and quantity property. After i use the this.store.dispatch(new PushProductAction( product )); the note property is concatenated with itself, i.e. i'm adding 3 products to cart with a note 'cold', in the cart this product will have the note property equal to 'coldcoldcold'.



app-state.ts



export class AppState 
categories: Category;
shopcart: ShopCart;
profile: Profile;
userdata: UserData;



product-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 ));



After the product is added :



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. I'm a beginner in angular, if you need more code snippets please let me know.







javascript angular ionic-framework angular5 ngrx-store






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 23 hours ago









Mark

317




317











  • where is note set?
    – Suraj Rao
    22 hours ago










  • It is in the product.model.ts. (Product class)
    – Mark
    15 hours ago

















  • where is note set?
    – Suraj Rao
    22 hours ago










  • It is in the product.model.ts. (Product class)
    – Mark
    15 hours ago
















where is note set?
– Suraj Rao
22 hours ago




where is note set?
– Suraj Rao
22 hours ago












It is in the product.model.ts. (Product class)
– Mark
15 hours ago





It is in the product.model.ts. (Product class)
– Mark
15 hours ago


















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53222219%2fangular-ngrx-store-dispatch-method-concatenates-an-object-property-with-itself%23new-answer', 'question_page');

);

Post as a guest



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53222219%2fangular-ngrx-store-dispatch-method-concatenates-an-object-property-with-itself%23new-answer', 'question_page');

);

Post as a guest














































































這個網誌中的熱門文章

How to combine Bézier curves to a surface?

Mutual Information Always Non-negative

Why am i infinitely getting the same tweet with the Twitter Search API?