如何绑定动态单选按钮在灰烬到控制器财产

问题描述 投票:1回答:1

我和单选按钮被真正地奋斗。我只是想动态创建一些单选按钮,然后选中的单选按钮绑定到控制器上的财产。

我想在这个问题的答案:https://stackoverflow.com/a/18991426/62653

然而,当你动态地创建单选按钮不起作用。

这是公认的答案的一个片段:

 <label>
    {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" value="true"}}
    true
 </label>
 <label>
     {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" value="false"}}
    false
 </label>

但是当你动态创建的单选按钮的观点就是这样,它不工作:

{{#each myModel.someCollection}}
    <label>
        {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" value=id}}
        {{id}}
    </label>
{{/each}}

如果使用循环创建如上单选按钮,物业isSelected没有更新。

任何意见或其他解决方案绑定单选按钮?

javascript ember.js ember-1
1个回答
5
投票

范围被所述#each块内变更为myModel.someCollection每个对象。因此你要绑定的myModel.someCollection.collection.isSelected值。你想使用#each块不会改变的背景下,让您绑定到isSelected的另一种形式。您还需要显式绑定的价值,你作为一个模板的代码并没有这样做,因为该值已经在硬编码试试这个:

{{#each item in myModel.someCollection}}
    <label>
        {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" valueBinding=item.id}}
        {{item.id}}
    </label>
{{/each}}

Here is a working JSFiddle

Here are the docs

而对于好奇,这里是他使用定制的单选按钮原来的示例代码:http://jsfiddle.net/chopper/CM6fK/35/

值得注意的是,对于这些绑定到正常工作,阵列中的对象必须是灰烬对象,它们需要被添加,删除和修改用灰烬的方法只(getset),这将确保所有绑定得到适当的更新。

© www.soinside.com 2019 - 2024. All rights reserved.