我想将单选按钮与对象而不是字符串绑定在一起。为此,我尝试了类似于以下代码:
<div *ngFor="let object of objects">
<input type="radio" id="category" [(ngValue)]="object">
</div>
Angular中是否有一种方法可以将对象与单选按钮的值绑定在一起?
答案 0 :(得分:2)
ngValue
不适用于单选按钮。仅适用于select
列表。
您可以使用[value]
属性绑定语法将对象分配为所选单选按钮的值。
使用它作为模板:
<div *ngFor="let object of objects">
<input
(change)="onCheck()"
[(ngModel)]="selectedCategory"
type="radio"
id="category"
[value]="object">
{{ object.categoryValue }}
</div>
在您的班级:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
selectedCategory;
objects = [
{categoryName: 'Category1', categoryValue: 'Category1'},
{categoryName: 'Category2', categoryValue: 'Category2'},
{categoryName: 'Category3', categoryValue: 'Category3'},
];
onCheck() {
console.log(this.selectedCategory);
}
}
这是您推荐的Sample StackBlitz。