如何将 ngfor 对象变量发送给函数
How to send a ngfor object variable to a function
我有一个 *ngFor 列表用于我的类别和内部列表我想显示子类别列表。来自 firebase 的子类别数据,所以我用 category_id 查询它。我的问题是我不知道如何将 category_id 从 html 传递给类别的每个成员。
home.html
<ion-accordion *ngFor="let category of Categories">
<ion-item slot="header">
<ion-label>{{category.category_name}}</ion-label>
</ion-item>
<ion-list slot="content">
<ion-item *ngFor="let category of SubCategories">
<ion-label> {{category.subcategory_name}}</ion-label>
</ion-item>
</ion-list>
</ion-accordion>
</ion-accordion-group>
home.ts
Product: Product[] = [];
Categories: Category[] = [];
SubCategories: SubCategory[] = [];
ShowSubCategories: SubCategory[] = [];
subcategory_category_id: number;
constructor( private dataService : DataService) {
this.dataService.getCategories().subscribe(res =>{
this.Categories=res;
})
this.dataService.getSubCategory().subscribe(res => {
this.SubCategories=res;
})
console.log(this.subcategory_category_id)
}
getSubCategoryById(id){
console.log(this.dataService.getSubCategoryById(id))
}
}
因为不清楚你的数据是如何构建的,但你似乎同时获得了类别和子类别。稍微解决一下嵌套的 *ngFor、*ngIf 和 div 就可以解决问题。可能不是最佳做法:
TS文件
Categories = [
{ id: 1, name: 'one' },
{ id: 2, name: 'two' },
];
Subcategories = [
{ id: 1, name: 'subone' },
{ id: 2, name: 'subtwo' },
];
HTML :
<div *ngFor="let cat of Categories">
<ion-item>Name : {{cat.name}} | id : {{cat.id}}</ion-item>
<div *ngFor="let subcat of Subcategories">
<ion-item *ngIf="subcat.id === cat.id">subcat id: {{subcat.id}} | subcat name: {{subcat.name}}</ion-item>
</div>
</div>
我有一个 *ngFor 列表用于我的类别和内部列表我想显示子类别列表。来自 firebase 的子类别数据,所以我用 category_id 查询它。我的问题是我不知道如何将 category_id 从 html 传递给类别的每个成员。
home.html
<ion-accordion *ngFor="let category of Categories">
<ion-item slot="header">
<ion-label>{{category.category_name}}</ion-label>
</ion-item>
<ion-list slot="content">
<ion-item *ngFor="let category of SubCategories">
<ion-label> {{category.subcategory_name}}</ion-label>
</ion-item>
</ion-list>
</ion-accordion>
</ion-accordion-group>
home.ts
Product: Product[] = [];
Categories: Category[] = [];
SubCategories: SubCategory[] = [];
ShowSubCategories: SubCategory[] = [];
subcategory_category_id: number;
constructor( private dataService : DataService) {
this.dataService.getCategories().subscribe(res =>{
this.Categories=res;
})
this.dataService.getSubCategory().subscribe(res => {
this.SubCategories=res;
})
console.log(this.subcategory_category_id)
}
getSubCategoryById(id){
console.log(this.dataService.getSubCategoryById(id))
}
}
因为不清楚你的数据是如何构建的,但你似乎同时获得了类别和子类别。稍微解决一下嵌套的 *ngFor、*ngIf 和 div 就可以解决问题。可能不是最佳做法:
TS文件
Categories = [
{ id: 1, name: 'one' },
{ id: 2, name: 'two' },
];
Subcategories = [
{ id: 1, name: 'subone' },
{ id: 2, name: 'subtwo' },
];
HTML :
<div *ngFor="let cat of Categories">
<ion-item>Name : {{cat.name}} | id : {{cat.id}}</ion-item>
<div *ngFor="let subcat of Subcategories">
<ion-item *ngIf="subcat.id === cat.id">subcat id: {{subcat.id}} | subcat name: {{subcat.name}}</ion-item>
</div>
</div>