gpt4 book ai didi

angularjs - AngularJS 中枚举的最佳解决方案?

转载 作者:行者123 更新时间:2023-12-02 21:45:37 25 4
gpt4 key购买 nike

我很难找到一个优雅的枚举解决方案,尤其是使用 AngularJS 在枚举中进行搜索。

让我描述一下情况以及我如何处理它:假设我有一个名为 Event 的对象此事件有 2 个属性:SeverityStatus。两者都是枚举,由 ID (1, 2,3) 和标题定义(对于严重性:“Light”、“Normal”、“Important”,对于 Status:“Open”、“Closed”、“Pending Approval”)

来自服务的事件对象具有枚举的 ID,当我想显示该对象时,我使用 {{SelfityIdToTitle(Event.Severity) }} 绑定(bind)SeverityIdtoTitle 是我的 Controller 上的一个方法,它调用我的服务上的一个方法,该方法根据收到的 id 返回 Enum 的值当我希望用户能够通过文本搜索对象时,问题就出现了,AngularJS 过滤器不知道枚举的实际“字符串”值,所以我遇到了问题。

我知道很多解决方法,并且有一些选择,但我想知道什么是优雅而干净的解决方案?我所做的事情是否使事情变得复杂,有更好的方法吗?

谢谢大家!

最佳答案

有趣的问题。我会创建一个 custom filter而不是使用severityIdToTitle 函数。过滤器设计用于格式化数据以呈现给用户,因此将 id 转换为字符串是一个很好的用例。过滤器应该依赖于知道枚举标识符及其值之间的双向映射的服务。至于如何进行映射,这是一个常见的 JavaScript 问题。有一个关于此的好帖子here .

关于angularjs - AngularJS 中枚举的最佳解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20165495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com