我从CartComponent调用CartService中的removeItem()函数。
CartComponent#removeItem():
public removeItem(itemId:string) {
this.cartService.removeItem(itemId).subscribe(cart => {
console.log('CartComponent#removeItem', )
this.cartItems = cart.cartItem;
});
}
Typescript为cart.cartItem给出以下错误:
[ts] Property 'cartItem' does not exist on type 'void'.
any
我已经在另一个应用程序中做到了这一点,并且效果很好。
CartService#removeItem()
public removeItem(itemId:string) {
console.log('CartService#removeItem', itemId)
return this.httpClient.delete<Cart>(`${this.cartItemUrl}${itemId}`)
.pipe(
tap(cart => console.log('cart@removeItem', cart)),
// map(cart => this.cart = cart, this.setItemCount()),
map(cart => {
this.cart = cart;
this.setItemCount();
}),
catchError(this.handleError.bind(this))
)
}
答案 0 :(得分:2)
map
函数用于转换Observable
的发射值。从map
返回的值都是发射值。
如果遇到这种情况,则map
函数不会返回任何内容,因此subscribe
中的CartComponent
无法访问该值。