在 ng-repeat 中将动态值绑定到复选框的 ng-model

Binding dynamic values to ng-model of a check-box with in a ng-repeat

在我的控制器中,我有一个这样的对象数组:

this.set = [{
    "display": "Name",
    "pass": "name"
}, {
    "display": "Subject",
    "pass": "subject"
}, {
    "display": "Batch",
    "pass": "batch"
}];

我提供了复选框:name, batch and subject。选中复选框将过滤一个类别。

HTML:

<div flex class="filters" layout="row"  ng-repeat="menu in menu">
    <md-checkbox  class="md-primary" ng-model="query.{{menu.pass}}">
        {{menu.display}}
    </md-checkbox>
</div>

{{menu.display}} 名称显示正确。现在我也想动态绑定 ng-model。这怎么可能?

ng-model 属性已经需要一个 angular 表达式,所以在里面加上花括号是行不通的,而是尝试像这样的东西:

<div flex class="filters" layout="row"  ng-repeat="menu in set">
    <md-checkbox  class="md-primary" ng-model="query[menu.pass]">
       {{menu.display}}
    </md-checkbox>
</div>

所以现在只是通过传入menu.pass的值来设置query.batch

演示:https://jsfiddle.net/qvw9bmhe/32/

只需单击名称即可查看查询对象更新。