angular 中订阅下一个参数类型错误
subscribe next parameter types error in angular
我在下面分享了我的错误和代码。不知何故,我不明白为什么会导致错误。你能帮帮我吗?
我的代码:
import { Component, OnInit } from '@angular/core';
import {ProductService} from '../../services/product.service';
@Component({
selector: 'app-products',
templateUrl: './products.component.html',
styleUrls: ['./products.component.scss']
})
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe((prods: {count: Number, products: any[]}) => {
this.products = prods.products;
console.log(this.products);
});
}
}
我的错误:
my error img
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe((prods: IPerson) => {
this.products = prods.products;
});
}
}
interface IPerson{
count:number,
products:any[]
}
服务:
getAllProducts(){
return this http.get(`url`);
}
不过最好还是用下面的方法:
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe(prods=> {
this.products = prods.products;
});
}
}
export interface IPerson{
count:number,
products:any[]
}
服务:
getAllProducts():Observble<IPerson>{
return this http.get<IPerson>(`url`);
}
您应该对 http.get
方法进行类型转换
getAllProducts(numberOfResults = 10) {
return this.http.get<{count: Number, products: any[]}>(this.SERVER_URL + '/products', { params: { limit: numberOfResults.toString() } });
}
我在下面分享了我的错误和代码。不知何故,我不明白为什么会导致错误。你能帮帮我吗?
我的代码:
import { Component, OnInit } from '@angular/core';
import {ProductService} from '../../services/product.service';
@Component({
selector: 'app-products',
templateUrl: './products.component.html',
styleUrls: ['./products.component.scss']
})
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe((prods: {count: Number, products: any[]}) => {
this.products = prods.products;
console.log(this.products);
});
}
}
我的错误: my error img
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe((prods: IPerson) => {
this.products = prods.products;
});
}
}
interface IPerson{
count:number,
products:any[]
}
服务:
getAllProducts(){
return this http.get(`url`);
}
不过最好还是用下面的方法:
export class ProductsComponent implements OnInit {
products: any[] = [];
constructor(private productService: ProductService) { }
ngOnInit(): void {
this.productService.getAllProducts().subscribe(prods=> {
this.products = prods.products;
});
}
}
export interface IPerson{
count:number,
products:any[]
}
服务:
getAllProducts():Observble<IPerson>{
return this http.get<IPerson>(`url`);
}
您应该对 http.get
方法进行类型转换
getAllProducts(numberOfResults = 10) {
return this.http.get<{count: Number, products: any[]}>(this.SERVER_URL + '/products', { params: { limit: numberOfResults.toString() } });
}