2013-02-26 54 views
1

所以我有一個視圖模型像這樣:如何確保財產被映射爲可觀察到的

​​

在我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

回答

2

在你的情況,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); 
+0

VAR映射= { '的SelectedItem':{...做到了。謝謝你是完美的。 – jmogera 2013-02-27 04:13:27

+0

剛剛更新爲'SelectedItem',我的錯字... – 2013-02-27 06:52:52

相關問題