Knockout.js 如何使用敲除映射将一个属性映射到另一个属性?

Knockout.js 如何使用敲除映射将一个属性映射到另一个属性?,knockout.js,knockout-mapping-plugin,Knockout.js,Knockout Mapping Plugin,请建议我如何解决以下问题: 我将模型定义为 public class Model { public string Name { get; set;} } 以及JS中的ViewModel作为 var vm = { name : ko.observable() } 此外,我还有一个回调函数,它应该会更新viewmodel: function callback(data) { ko.mapping.fromJS(data, {}, viewModel); } 但是对于ko.m

请建议我如何解决以下问题:

我将模型定义为

public class Model
{
    public string Name { get; set;}
}
以及JS中的ViewModel作为

var vm = {
   name : ko.observable()
}
此外,我还有一个回调函数,它应该会更新viewmodel:

function callback(data)
{
   ko.mapping.fromJS(data, {}, viewModel);
}
但是对于ko.mapping插件属性“name”不等于“name”


先生们,如何定义从“Name”到“Name”的映射?

首先,您不需要在viewModel中指定
Name
属性,因为映射插件将为您添加该属性

对于大小写,将序列化约定改为小写属性

或者,您可以像我所做的那样,在视图模型中接受大写字母。尽管它与常见的Javascript约定不太兼容,但我还是将其视为“来自服务器的属性”

我发现知道哪些是从映射创建的,哪些是用于视图模型的非常方便。当然,您不会在视图模型中看到服务器生成/映射的属性,但它们会在那里

我使用它在服务器上指定和创建服务器端视图模型,序列化它们并将它们映射到我的淘汰模型。这样,我只能专注于淘汰视图模型中的行为


如果需要将任何服务器端对象转换为javascript“对象”,可以在映射对象中实现该转换,就像我所做的那样

Ok,我明白了。但是,我可以通过为JSON序列化程序添加属性来指定,以便根据客户端的命名约定序列化我的服务器端属性吗?