0

问题

我玩过很多关于 knockoutJS 映射插件的事情。

我的问题可以在下面的 jsFiddles 中得到最好的展示。

这个有效。但这不起作用

我在控制台中收到错误

未捕获的错误:ko.mapping.updateFromJS,请改用 ko.mapping.fromJS。请注意参数的顺序不同!

为什么我得到这个错误,小提琴有什么区别?

我的代码

var viewModel = ko.mapping.fromJS({
    "State" : 1,
    "Text" : "Hello"
});

$("button").click(function() 
{
    var response = {
        "State" : 2,
        "Text" : "World"
    }
        
    ko.mapping.updateFromJS(viewModel, response);
});
    
ko.applyBindings(viewModel);
4

1 回答 1

0

您正在使用不同版本的 ko 映射插件:

在你的工作小提琴中:http://wiredwestwebdesign.com/knockout.mapping.js

在你不工作的小提琴中:https://raw.github.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.js

ko.mapping.updateFromJS大约一年前,在这个变更集中,有问题的方法已被弃用:删除 updateFromJS* 调用的第一部分

以及如何解决此错误:

只做异常所说的:使用ko.mapping.fromJS并注意参数顺序:

ko.mapping.fromJS(response, viewModel);

演示小提琴。

于 2012-11-14T20:22:46.790 回答