У меня есть список, который повторяется с помощью * ngFor для кнопки переключения. Мне нужно получить значения всех кнопок true / false в JavaScript объектах массива.
Это заданный вход.
this.list = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":1},
{ "name":"BMW", "models":2},
{ "name":"Fiat", "models":3 }
]
}
HTML для кнопок переключения
<div *ngFor = "let x of list.cars;">
{{x.name}}
<toggle-button [config]="config" (onStateChange)="onStateChanged1($event, x.name)">
</toggle-button>
<toggle-button [config]="config" (onStateChange)="onStateChanged2($event, x.name)">
</toggle-button>
<toggle-button [config]="config" (onStateChange)="onStateChanged3($event, x.name)">
</toggle-button>
<toggle-button [config]="config" (onStateChange)="onStateChanged4($event, x.name)">
</toggle-button>
</div>
Функции кнопок переключения
public onStateChanged1(value: boolean, name) {
this.value1 = value;
this.name1 = name;
console.log(this.value1)
}
public onStateChanged2(value: boolean,name) {
this.value2 = value;
this.name1 = name;
} public onStateChanged3(value: boolean,name) {
this.value3 = value;
this.name1 = name;
} public onStateChanged4(value: boolean,name) {
this.value4 = value;
this.name1 = name;
}
Требуемый выход
[{
name: ford,
code1: true,
code2: false,
code3: false,
code4: false,
},
{
name: BMW,
code1: true,
code2: false,
code3: false,
code4: false,
},
{
name: Fiat,
code1: true,
code2: false,
code3: false,
code4: false,
}]