感谢Gunter,我找到了解决方案!这是我的完整代码,如果它可以帮助任何人:
<div > <label for="options">Options :</label> <div *ngFor="#option of options; #i = index"> <label> <input type="checkbox" name="options" value="{{option}}" [checked]="options.indexOf(option) >= 0" (change)="updateCheckedOptions(option, $event)"/> {{option}} </label> </div> </div>这是我正在使用的3个对象:
options = ['OptionA', 'OptionB', 'OptionC'];optionsMap = { OptionA: false, OptionB: false, OptionC: false,};optionsChecked = [];共有3种有用的方法:
1 。启动
optionsMap:
initOptionsMap() { for (var x = 0; x<this.order.options.length; x++) { this.optionsMap[this.options[x]] = true; }}2. 更新
optionsMap:
updateCheckedOptions(option, event) { this.optionsMap[option] = event.target.checked;}3. 转换
optionsMap成
optionsChecked并将其存储在
options发送POST请求之前:
updateOptions() { for(var x in this.optionsMap) { if(this.optionsMap[x]) { this.optionsChecked.push(x); } } this.options = this.optionsChecked; this.optionsChecked = [];}


