Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将动态单选按钮绑定到Ember中的控制器属性_Javascript_Ember.js_Ember 1 - Fatal编程技术网

Javascript 如何将动态单选按钮绑定到Ember中的控制器属性

Javascript 如何将动态单选按钮绑定到Ember中的控制器属性,javascript,ember.js,ember-1,Javascript,Ember.js,Ember 1,我一直在为单选按钮苦苦挣扎。我只想动态创建一些单选按钮,然后将选中的单选按钮绑定到控制器上的属性 我试着回答这个问题: 但是,动态创建单选按钮时,它不起作用 这是公认答案的一个片段: <label> {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" value="true"}} true </label> <label> {{v

我一直在为单选按钮苦苦挣扎。我只想动态创建一些单选按钮,然后将选中的单选按钮绑定到控制器上的属性

我试着回答这个问题:

但是,动态创建单选按钮时,它不起作用

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

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

{{view Ember.RadioButton name=“selectionTest”selectionBinding=“isSelected”value=“true”}
真的
{{view Ember.RadioButton name=“selectionTest”selectionBinding=“isSelected”value=“false”}
假的
但当您像这样动态创建单选按钮视图时,它不起作用:

{{#each myModel.someCollection}}
    <label>
        {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" value=id}}
        {{id}}
    </label>
{{/each}}
{{#每个myModel.someCollection}
{{view Ember.RadioButton name=“selectionTest”selectionBinding=“isSelected”value=id}
{{id}
{{/每个}}
如果如上所述使用循环创建单选按钮,则不会更新属性
isSelected


有没有绑定单选按钮的想法或其他解决方案?

范围正在myModel.someCollection中的每个对象的
#块中更改。因此,您正在绑定myModel.someCollection.collection.isSelected值。您希望使用
#每个
块的另一种形式,它不改变上下文,允许您绑定到
isSelected
。您还需要显式绑定该值,因为该值是硬编码的,所以用作模板的代码不必这样做。试试这个:

{{#each item in myModel.someCollection}}
    <label>
        {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" valueBinding=item.id}}
        {{item.id}}
    </label>
{{/each}}
{{{#myModel.someCollection中的每个项}
{{view Ember.RadioButton name=“selectionTest”selectionBinding=“isSelected”valueBinding=item.id}
{{item.id}
{{/每个}}

出于好奇,以下是他正在使用的定制单选按钮的原始示例代码:


值得注意的是,要使这些绑定正常工作,数组中的对象需要是Ember对象,并且只需要使用Ember方法(
get
set
)添加、删除和修改它们,这将确保所有绑定都得到正确更新。

范围在myModel.someCollection中的每个
块内更改。因此,您正在绑定myModel.someCollection.collection.isSelected值。您希望使用
#每个
块的另一种形式,它不改变上下文,允许您绑定到
isSelected
。您还需要显式绑定该值,因为该值是硬编码的,所以用作模板的代码不必这样做。试试这个:

{{#each item in myModel.someCollection}}
    <label>
        {{view Ember.RadioButton name="selectionTest" selectionBinding="isSelected" valueBinding=item.id}}
        {{item.id}}
    </label>
{{/each}}
{{{#myModel.someCollection中的每个项}
{{view Ember.RadioButton name=“selectionTest”selectionBinding=“isSelected”valueBinding=item.id}
{{item.id}
{{/每个}}

出于好奇,以下是他正在使用的定制单选按钮的原始示例代码:


值得注意的是,要使这些绑定正常工作,数组中的对象必须是余烬对象,并且只需要使用余烬方法(
get
set
)添加、删除和修改它们,这将确保所有绑定都得到正确更新。

@rustytome,您是一个救生员,非常感谢。伙计,很难找到这方面的文档。真的很感激这个深思熟虑的答案@rustytome,你是个救生员,非常感谢。伙计,很难找到这方面的文档。真的很感激这个深思熟虑的答案!