【发布时间】:2020-08-28 16:48:18
【问题描述】:
我遇到了 TypeScript 错误:
'(data: Products) => void' 类型的参数不能分配给'(value: Products[]) => void' 类型的参数。 参数 'data' 和 'value' 的类型不兼容。 类型“Products[]”不可分配给类型“Products”。 “Products[]”类型中缺少属性“id”。
这是我的架构:
export class Products {
id: number;
prodImage: any;
catid: number;
catId: number;
}
这是我收到错误的 ts 代码:
import { Component, OnInit } from '@angular/core';
import { Router, Params, ActivatedRoute } from '@angular/router';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import {Products } from '../Admin/products/products';
import {ProductsService } from '../Admin/products/products.service';
@Component({
selector: 'app-cart',
templateUrl: './cart.component.html',
styleUrls: ['./cart.component.css']
})
export class CartComponent implements OnInit {
sess_id: any;
prods: Products;
cartList: Products;
constructor(
private router: Router,
private productsService: ProductsService,
private routes: ActivatedRoute,
) { }
ngOnInit() {
this.sess_id = localStorage.getItem('sess_key');
this.productsService.viewCart(this.sess_id)
.subscribe((data: Products) => { //getting error over here
this.cartList = data;
console.log(this.cartList);
});}}
我哪里错了??提前致谢
【问题讨论】:
-
productsService.viewCart返回Observable<Products[]>而不是Observable<Product>
标签: angular typescript