Home Ask Login Register

Developers Planet

Your answer is one click away!

Slip February 2016

How to push in array?

i'm trying to do cart by angular2(TS)

import {Injectable} from 'angular2/core';    
import {Cart} from './product'; //interface id: Number; name: String

 export class ProductService {
 public products;
 public cart : Cart[] = [];

    addToCart(products: Object) {

When i push products in method i get "product= Object {id: 13, name: "Bombasto"}" but in console.log('cart=',this.cart); i have "undefined". Why?


Thierry Templier February 2016

I think that there is a typo in your code:

addToCart(products: Object) {
  this.cart.push(products); // <--------

If you want to use the products parameter, you should remove the this keyword when using it at the level of the push method.

With the this keyword, you use the products property of the ProductService class which is undefined. So you try to use an undefined value in the array... That's why you see the undefined in your trace.

Post Status

Asked in February 2016
Viewed 1,804 times
Voted 6
Answered 1 times


Leave an answer

Quote of the day: live life