0

<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(上記のオブジェクトの配列を使用して) toの値を動的に設定する方法はありcontroller.param.[label1]ますか、または探しているものを達成するためのより良い方法はありますか?

4

1 に答える 1

1

いいえ、次のことを行う必要があります。

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

このプロパティは、{{#each}}必要に応じてヘルパーの itemController に配置できます (itemController は、この問題に対処するための良い方法です)。

于 2013-09-16T19:58:32.810 に答える