将复选框设置绑定到EmberJS中的数组内容

时间:2013-12-10 08:48:05

标签: ember.js

我在EmberJS应用程序中有一组复选框。我想在控制器中维护一个对应于复选框的属性(例如,包含一个字符串条目,其中每个框的id都被选中)。当选中或取消选中框时,此属性应自行更新。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

计算属性可以

F.e。

App.MyController = Em.ObjectController.extend({

  checkboxValues : [Em.Object.create({id:1, check:false}), Em.Object.create({id:2, check:true})],

  checkedIds : function() {
    return this.get('checkboxValues').filterBy('check').mapBy('id').join(',');
  }.property('checkboxValues.@each.check')

});

//template

{{#each checkboxValues}}
  {{id}} {{input type="checkbox" name="checkbox" checkedBinding="check"}}
{{/each}}

{{checkedIds}}