【问题标题】:knockout.js partial mapping from json来自 json 的 knockout.js 部分映射
【发布时间】: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


【解决方案1】:

这行得通:

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

【讨论】:

    猜你喜欢
    • 2016-06-26
    • 2021-09-15
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    相关资源
    最近更新 更多