3

我想更改 Breeze 的序列化程序,以便我的 javascript 对象是驼峰式的。在文档中它说可以做到这一点,但说这是要解释的。

您可以更改格式化程序的配置 [待解释],但如果您这样做,您有责任确保您的更改不会与 Breeze 的期望相冲突。

有谁知道如何做到这一点?

4

1 回答 1

3

最简单的就是简单地调用

breeze.NamingConvention.camelCase.setAsDefault();

在您的第一个查询之前(或在您创建您的第一个元数据存储之前)。

这里有更多信息,这里这里

内置的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();
于 2013-01-18T20:30:40.343 回答