如何在不使用任何形式的情况下获取angular material2中的所有复选框值
我正在使用如何在不使用任何形式的情况下获取angular material2中的所有复选框值,angular,checkbox,angular-material2,Angular,Checkbox,Angular Material2,我正在使用ngFor构建我的复选框: <ng-container *ngFor="let cb of (myList$ | async)"> <mat-checkbox [value]="cb.name" [checked]="cb.checked" (change)="checkboxChange($event)" // only giving single value >{{ cb.name
ngFor
构建我的复选框:
<ng-container *ngFor="let cb of (myList$ | async)">
<mat-checkbox
[value]="cb.name"
[checked]="cb.checked"
(change)="checkboxChange($event)" // only giving single value
>{{ cb.name }}</mat-checkbox
</ng-container>
{{cb.name}}如果您不想使用任何表单,那么您必须修改正在迭代以存储更新值的同一列表
<ng-container *ngFor="let cb of list">
<mat-checkbox
[checked]="cb.checked"
(change)="cb.checked = $event.checked;
checkboxChange()" >{{ cb.name }}
</mat-checkbox>
</ng-container>
看到这个了吗
注意:另外,我正在使用一个单独的列表
进行迭代,该列表不可观察,因为这将有助于获取所有更新的复选框值。您是否选中:?@crueengine感谢您指出这一点,但我的复选框容器视图不是列表
export class AppComponent implements OnInit {
name = 'Angular';
myList$;
list = []
ngOnInit() {
this.myList$ = of([
{
name: 'A', checked: true
},
{
name: 'B', checked: false
},
{
name: 'C', checked: true
}]);
this.myList$.subscribe((data) => {
this.list = data;
})
}
checkboxChange() {
console.log(this.list)
}
}