2013-09-22 49 views
1

我需要连接几个变量来创建一个属性,例如我有一组RadioButtons这可能会出现在页面上多次 - 动态地,首先可以显示视图时间,其他的事情是,他们被放置在each循环,以便它们可以每个视图显示多次。Ember:concat属性绑定,如何?

所以我不能用静态name属性,但我应该有几个部分,如果Concat的,对于exampe结果应该是这样的:

<input name="view1_row0" value="0"> No 
<input name="view1_row0" value="1"> Yes 

<!-- next row in view1 --> 
<input name="view1_row1" value="0"> No 
<input name="view1_row1" value="1"> Yes 

<!-- next row in view2 --> 
<input name="view2_row0" value="0"> No 
<input name="view2_row0" value="1"> Yes 

等等。我可以很容易地得到父母的视图的ID与view._parentView.contentIndex循环/或指数,但我不知道如何Concat的他们在一个绑定,伪代码是这样的:

{{view Ember.RadioButton nameBinding=view.parentView.elementId + "_row" + view._parentView.contentIndex selectionBinding="someVal" value="0"}} 

但它当然在+迹象引发错误。有什么办法可以解决这个问题吗?

回答

2

为什么不将它们作为单独的绑定传递并将它们连接在一个自定义的实现Ember.RadioButton中?

{{view App.MyRadioButton elementIdBinding="view.parentView.elementId" contentIndexBinding="view._parentView.contentIndex" selectionBinding="someVal" value="0"}} 

,然后在App.MyRadioButton(延伸Ember.RadioButton

name: function() { 
    return this.get('elementId') + '_row' + this.get('contentIndex'); 
}.property('elementId', 'contentIndex') 

另外,您还可能能够做到,在您的控制器。

+0

嘿嘿,我刚刚完成了一些类似'init'的视图+单独绑定的功能,无论如何,你的解决方案更清洁,thx,就像一个魅力! – biesior