knockout.jsを使用すると、サーバーからJSONオブジェクトの子オブジェクトのプロパティにバインドできますか?具体的には、私はこのようになりますサーバーからオブジェクトを与えられていた場合:私は、「マッピング」プラグインを介して、このjavascriptオブジェクトからのViewModelを作成子オブジェクトのプロパティにテキストをバインド
var obj = {
list: [ { key: "a", value: 1 },
{ key: "b", value: 2 },
{ key: "c", value: 3 }
],
selected: {
key: "",
value: null
}
};
:
var viewModel = ko.mapping.fromJS(obj);
そして、私はlist
をバインドそのような<select>
タグに:
<select data-bind="options: list, optionsText: 'key',
optionsValue: 'value',
value: selected">
</select>
私は私のViewModelのプロパティselected
ように値を割り当てました。つまり、オプションを選択すると、viewModel.selected.key()
とviewModel.selected.value()
のコードを正常にクエリし、最新の値を取得できます。
ただし、選択したアイテムのkey
またはvalue
データをスパンに表示するにはバインドできません。たとえば、選択した値が表示されません。
<span data-bind="text: selected.value"></span>
私は何をしたいですか?適切なコンテキストを確立するために実際のシンプルなテンプレートを使用する必要がありますか(つまり、selected
)?
私は状況hereの例を持っています。私は具体的には、子供selected
オブジェクトを観測可能なものにマッピングしようとしましたが、運がありません(追加のオプションでコメントアウトされたマッピング呼び出しを参照してください)。
はファンタスティック、私が探していただけのものを - と私はそれはあなたから来るつもりだった疑いがあります。 =)それは私が適切な軌道に乗っていたことを知ることは良いことです。私は 'optionsValue'パラメータを事実上確立することが状況の要点であったと思います。再度、感謝します! – kdawg