【发布时间】:2025-11-30 15:05:02
【问题描述】:
我来自 Backbone,所以也许我的观点对此有偏见,但我无法看到在 Angular 中建模数据的最佳方式。 2-way data-bind 非常棒,但是当我想要拥有持久化集合和模型类时,我感到很困惑。
我习惯于定义一个集合,比如用户,然后在我想用新模型更新它时调用 .fetch() 。我还可以在集合以及每个模型上定义自定义方法。
var users = new UserCollection();
users.fetch();
users.doSomethingCustom()
users.at(0).doSomethingModel();
到目前为止,我已经查看了 Restangular 和 ngActiveResource,但似乎两者都没有提供与我预期相同的功能。
我是否缺少某些东西,或者我正在以非 Angular 的方式考虑这个问题?
编辑:如果对任何人都有帮助,我最终会制作出与 Backbone 非常相似的模型/系列:https://github.com/evanhobbs/angular-models
【问题讨论】:
-
这是你想要的!
-
好吧,如果可以的话,我不想重新发明*。建模数据似乎是一个很常见的问题,我很惊讶尚未找到社区解决方案。
-
我认为您想要的是定义一个包含集合的 Angular 服务。服务可以从数据库加载集合,然后您需要做的就是定义服务的功能。不过我确实喜欢 Restangular,你应该更多地研究它并尝试一下,在我看来,它比 Angular 的 $resource 更适合使用 API。
-
我现在使用过restangular,虽然它非常适合与其他资源交互,但它并不是真正的数据建模解决方案,除非在相当简单的应用程序中。我最终推出了自己的模型和集合基类。
标签: javascript angularjs backbone.js restangular