如何推入数组?

时间:2016-02-08 14:59:13

标签: angular

我试图通过angular2(TS)

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

 @Injectable()
 export class ProductService {
 public products;
 public cart : Cart[] = [];

    addToCart(products: Object) {
      console.log('product=',products)
      this.cart.push(this.products);
      console.log('cart=',this.cart);
           }

当我按方法推送产品时

product= Object {id: 13, name: "Bombasto"}

但在

console.log('cart=',this.cart);

我有" undefined"。为什么呢?

1 个答案:

答案 0 :(得分:12)

我认为您的代码中存在拼写错误:

addToCart(products: Object) {
  console.log('product=',products)
  this.cart.push(products); // <--------
  console.log('cart=',this.cart);
}

如果您想使用products参数,则应在this方法级别使用时删除push关键字。

使用this关键字,可以使用未定义的products类的ProductService属性。因此,您尝试在数组中使用未定义的值...这就是您在跟踪中看到未定义的原因。