2012-07-06 66 views
0

在knockout.js網站的文件,他們說,當你的數據從服務器返回的你可以這樣做部分映射:knockout.js從JSON

// Every time data is received from the server: 
ko.mapping.fromJS(data, viewModel); 

我想數據部分映射回進入我的對象模型。那可能嗎?

我有一個viewModel.jobs [I] .JobType子對象,所以我喜歡做這樣的事情:

ko.mapping.fromJS(data.jobType, viewModel.jobs[i].JobType); 

...這意味着我想只是地圖的jobType從服務器的結果到這個特定作業的JobType字段。

...還牢記:

// does not work because viewModel.jobs[i].JobType() is not a function. 
viewModel.jobs[i].JobType(data.JobType); 
+2

難道你不想'viewmodel.jobs()[i]',因爲'作業'可能是可觀察的? – Tyrsius 2012-07-06 21:47:26

+0

我只是從服務器的迴應中找回JobType屬性的值。我認爲迴歸整個工作更有意義? – 2012-07-06 21:48:05

+0

另外,我沒有使用viewModel.jobs()[i],我只是直接引用了這個工作。 – 2012-07-06 21:50:28

回答

1

這工作:

ko.mapping.fromJS(data.job,viewModel.jobs [1]);

+0

不錯的工作,很高興我可以幫忙=) – Tyrsius 2012-07-06 22:06:52