我正在尝试渲染一组由模型提供的动态<select>
框。用户应该填写这些,然后保存数据。目前,我循环遍历availableParameters
对象,并为对象中的每个对呈现Ember.Select
视图。这没关系。但是,我在设置valueBinding
方面遇到问题,我可以检索控制器中的值,因为我似乎无法将传递的参数中的label
变量插入到图。
{{#each availableParameters}}
{{label}}
{{view Ember.Select
contentBinding="values"
valueBinding="controller.param.[label]"
}}
{{/each}}
availableParameters
对象如下所示:
[
{
label: "label1",
values: [
"value1",
"value2",
"value3"
]
},
...
]
有没有办法动态设置valueBinding
的值为controller.param.[label1]
(使用上面的对象数组),还是有更好的方法来实现我正在寻找的东西?
答案 0 :(得分:1)
不,你需要这样做:
selectedValue: function() {
this.get('values')[this.get('label')]
}.property('values.[]', 'label')
如果需要,可以在{{#each}}
助手的itemController上使用此属性(itemController是解决此问题的好方法)