Enums breeze:自定义枚举值
枚举从服务器返回为myEnum.SomeValue,但我想在屏幕上显示的是一个格式化的值,例如“SomeValue”,而不是SomeValue。 这可能是服务器端模型上属性的一部分,但不会在元数据中传递。Enums breeze:自定义枚举值,enums,breeze,Enums,Breeze,枚举从服务器返回为myEnum.SomeValue,但我想在屏幕上显示的是一个格式化的值,例如“SomeValue”,而不是SomeValue。 这可能是服务器端模型上属性的一部分,但不会在元数据中传递。 那么用breeze做这类事情的最佳场所是什么呢?我们已经讨论了breeze的“可扩展”元数据的概念,但还没有实现它。请投赞成票 但与此同时,没有什么可以阻止您“增强”自己返回的元数据。最好的方法是将您自己的属性添加到“MetadataStore”、“EntityType”或“DataPrope
那么用breeze做这类事情的最佳场所是什么呢?我们已经讨论了breeze的“可扩展”元数据的概念,但还没有实现它。请投赞成票 但与此同时,没有什么可以阻止您“增强”自己返回的元数据。最好的方法是将您自己的属性添加到“MetadataStore”、“EntityType”或“DataProperty”类中 将自定义元数据添加到现有元数据对象的优点是,无论何时使用任何基本元数据,这些数据都是可用的 可能是这样的:(我还没有确认这个代码是正确的) 现在,无论您在哪里获得“status”dataProperty(例如在验证中),您都可以访问“enumDescriptions”
希望这是有意义的。您认为可以提供一个简短的示例,说明如何在客户端增强枚举的元数据吗?我很难弄明白怎么做,即使在看过医生之后。我知道如何在registerEntityTypeCtor中添加自定义属性,但是我使用什么方法将元数据添加到元数据存储?太好了!这应该足以让我摆脱痛苦:)谢谢你的帮助!
var custType = myEntityManager.metadataStore.getEntityType("Customer");
// assume that the 'status' property is actually an enumerated value where you want to
// add some custom metadata.
var statusProp = custType.getProperty("status");
// enumDescriptions is your custom property
statusProp.enumDescriptions = {
"PaidUp": "Paid Up",
"Delinq": "Delinquent",
"InArr": "In Arrears"
};