我试图通过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"。为什么呢?
答案 0 :(得分:12)
我认为您的代码中存在拼写错误:
addToCart(products: Object) {
console.log('product=',products)
this.cart.push(products); // <--------
console.log('cart=',this.cart);
}
如果您想使用products
参数,则应在this
方法级别使用时删除push
关键字。
使用this
关键字,可以使用未定义的products
类的ProductService
属性。因此,您尝试在数组中使用未定义的值...这就是您在跟踪中看到未定义的原因。