Angular 6如何将选定的复选框传递给ngModel

时间:2018-09-11 10:41:10

标签: angular checkbox ngfor angular2-ngmodel

我在将选中的复选框(已迭代)传递给ngModel时遇到问题。

    <label class="btn btn-outline-secondary" 
     *ngFor="let test of tests"  >
      <input type="checkbox">
    </label>

我有模型:

     testData = <any>{};

this.tests = [{
    id: 1, name: 'test1' 
  },
  {
    id: 2, name: 'test2' 
  },
  {
    id: 3, name: 'test3' 
  },  
]

我尝试使用ngModel和ngModelChange,但是在显示选中复选框方面仍然存在问题。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

使用[(ngModel)]="test.name"

 <label class="btn btn-outline-secondary" *ngFor="let test of tests"  >
  <input type="checkbox" [(ngModel)]="test.selected" > {{test.name}} - {{test.selected}}
</label>

Demo

答案 1 :(得分:2)

我建议您在模型中添加一个属性,并将其绑定到模板中。

<label class="btn btn-outline-secondary" *ngFor="let test of tests"  >
    <input type="checkbox" [(ngModel)]="test.isChecked">
</label>
this.tests = [{
    id: 1, name: 'test1', isChecked: false
  },
  {
    id: 2, name: 'test2', isChecked: true
  },
  {
    id: 3, name: 'test3', isChecked: false 
  },  
]