在 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/
只需单击名称即可查看查询对象更新。
在我的控制器中,我有一个这样的对象数组:
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/
只需单击名称即可查看查询对象更新。