【问题标题】:Binding dynamic values to ng-model of a check-box with in a ng-repeat在 ng-repeat 中将动态值绑定到复选框的 ng-model
【发布时间】:2016-05-25 11:25:33
【问题描述】:

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

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-repeat="menu in menu" 应该是ng-repeat="menu in menus" 吗?

标签: angularjs angularjs-ng-repeat ng-repeat angular-ngmodel angularjs-ng-model


【解决方案1】:

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

<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/

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

【讨论】:

    猜你喜欢
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    相关资源
    最近更新 更多