将参数传递给视图时插值变量

时间:2013-09-13 08:33:35

标签: ember.js handlebars.js

我正在尝试渲染一组由模型提供的动态<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](使用上面的对象数组),还是有更好的方法来实现我正在寻找的东西?

1 个答案:

答案 0 :(得分:1)

不,你需要这样做:

selectedValue: function() {
  this.get('values')[this.get('label')]
}.property('values.[]', 'label')

如果需要,可以在{{#each}}助手的itemController上使用此属性(itemController是解决此问题的好方法)