【发布时间】:2012-07-06 21:45:27
【问题描述】:
在 knockout.js 网站的文档中,他们说当您从服务器取回数据时,您可以这样做:
// 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);
【问题讨论】:
-
您不想要
viewmodel.jobs()[i],因为jobs可能是可观察到的吗? -
我只是从服务器的响应中取回 JobType 属性的值。我认为返回整个工作更有意义?
-
另外,我没有使用 viewModel.jobs()[i],我只是直接引用了这份工作。
-
我说的是你问题中的最后一行代码
-
或者,有没有办法使用映射将数组中的作业替换为来自服务器的版本?
标签: json knockout.js knockout-mapping-plugin