knockoutは配列内のオブジェクトのプロパティを正しくマッピングしていないようです。ノックアウトでは、配列内のオブジェクトのプロパティがマッピングされていません
はクロームコンソールからこの例を参照してください:
> var viewmodel = ko.mapping.fromJS({list:[]});
undefined
> viewmodel.list().unshift({ name : ko.observable("Foo") });
1
> viewmodel.list()[0].name();
"Foo"
> var js = ko.mapping.toJS(viewmodel);
undefined
> js.list[0].name;
undefined
をだから、javascriptオブジェクトが作成されているが、「名前」プロパティは、マップされません。
どのアイデアも大歓迎です! toJS()
機能についてhttp://knockoutjs.com/documentation/plugins-mapping.htmlから
すばやくお返事ありがとうございます。すべてのプロパティをマップする動作を変更する方法はありますか?ドキュメントにはこれが言及されていないようです。 –
@RichardAstbury私はそうは思わない。これをカスタマイズしたバージョンのマッピングプラグインにハードコードする必要があります。 – Niko
私はそれ以来、仕事をしているようなko.toJSON(viewModel)を見つけました。 –