以下是一个使用Angular 9/10根据分类显示产品数据的解决方法的示例代码:
product.service.ts
的服务文件,并添加以下代码:import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class ProductService {
private products = [
{ id: 1, name: 'Product 1', category: 'Category 1' },
{ id: 2, name: 'Product 2', category: 'Category 1' },
{ id: 3, name: 'Product 3', category: 'Category 2' },
{ id: 4, name: 'Product 4', category: 'Category 2' },
{ id: 5, name: 'Product 5', category: 'Category 3' },
{ id: 6, name: 'Product 6', category: 'Category 3' }
];
getProductsByCategory(category: string) {
return this.products.filter(product => product.category === category);
}
}
product.component.ts
的组件文件,并添加以下代码:import { Component, OnInit } from '@angular/core';
import { ProductService } from './product.service';
@Component({
selector: 'app-product',
templateUrl: './product.component.html',
styleUrls: ['./product.component.css']
})
export class ProductComponent implements OnInit {
products: any[];
constructor(private productService: ProductService) { }
ngOnInit() {
this.getProductsByCategory('Category 1'); // 初始显示Category 1的产品
}
getProductsByCategory(category: string) {
this.products = this.productService.getProductsByCategory(category);
}
}
product.component.html
的HTML模板文件,并添加以下代码:Products
Categories:
Products:
- {{ product.name }}
product.component
组件:
现在,当你在浏览器中运行你的Angular应用程序时,你将看到一个产品列表,你可以通过点击按钮来根据不同的分类显示不同的产品。