如何确保财产被映射为可观察到的
问题描述:
所以我有一个视图模型像这样:如何确保财产被映射为可观察到的
在我CSHTML我有以下几点:
var viewModel = ko.mapping.fromJS(@Html.Raw(Model.ToJson()));
我与这个通知是什么ko.mapping.fromJS绑定作为可观察的情况1。但是,如果设置了情况2,则ko.mapping.fromJS不会将SelectedItem映射为可观察。
如何设置我的代码,以便Case2实现并且ko.mapping.fromJS映射SelectedItem属性?
这里是断码:https://skydrive.live.com/redir?resid=33048714B5BF3B4B!1261
答
在你的情况,ko.mapping将映射到观察的ItemViewModel的属性,但不是ItemViewModel本身。如果你想ItemViewModel被映射可以定义映射为:
var mapping = {
'SelectedItem': {
create: function (options) {
return ko.observable(options.data);
}
}
,并调用JS的转换:
var viewModel = ko.mapping.fromJS(@Html.Raw(Model.ToJson()), mapping);
VAR映射= { '的SelectedItem':{...做到了。谢谢你是完美的。 – jmogera 2013-02-27 04:13:27
刚刚更新为'SelectedItem',我的错字... – 2013-02-27 06:52:52