我想更改Breeze的序列化程序,以便我的javascript对象是camelCased。在文档中,它说这可以做,但说它应该被解释。
您可以更改格式化程序的配置[待解释]但是如果 你这样做,你有责任确保你的改变 与Breeze的期望没有冲突。
有谁知道如何做到这一点?
答案 0 :(得分:3)
最简单的是简单地调用
breeze.NamingConvention.camelCase.setAsDefault();
在第一次查询之前(或在创建第一个metaData商店之前)。
内置的 NamingConvention.camelCase 是一个非常简单的驼峰套管实现,所以你也可以编写自己的命名约定:
var namingConv = new breeze.NamingConvention({
serverPropertyNameToClient: function (serverPropertyName, prop) {
if (prop && prop.isDataProperty && prop.dataType === DataType.Boolean) {
return "is" + serverPropertyName;
} else {
return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
}
},
clientPropertyNameToServer: function (clientPropertyName, prop) {
if (prop && prop.isDataProperty && prop.dataType === DataType.Boolean) {
return clientPropertyName.substr(2);
} else {
return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
}
}
});
namingConv.setAsDefault();