【发布时间】:2014-10-01 19:08:37
【问题描述】:
我正在编写一个小型库存应用程序,使用 Angular 和 Firebase 作为后端来管理深冰柜的库存(东西可能永远丢失在那里!),我很难找到一个好的 JSON 结构。数据是冰箱中物品的列表,每个物品都有描述、尺寸、有效期和添加(到库存)日期。
我正在使用出色的 AngularFire 库,它允许我将项目数组直接绑定到范围,同时保持数组与 Firebase 同步。在我的控制器中:
var fireRef = new Firebase('https://frozenapp.firebaseio.com/items/');
var sync = $firebase(fireRef);
$scope.items = sync.$asArray();
在应用程序的某些地方,需要单独列出项目。这样,我可以根据过期日期过滤它们(例如,已经过期的物品或即将过期的物品)。
但是,在应用程序的其他地方,项目需要按类型分组在一起。在这种情况下,类型意味着具有相同描述和尺寸的物品(例如,西兰花,16 盎司)。当项目按类型分组时,它们将具有与之关联的数量属性,我也需要显示该属性。我还需要访问一组相关的到期日期和每种类型的添加日期。例如,可能有 3 个 16 盎司的西兰花,它们都有不同的有效期和添加日期。
问题是如何在保持数据同步到服务器的同时做到这一点。如果我的 JSON 结构只是一个项目数组,我需要将它们“收集”为第二种显示样式的类型。如果结构基于具有添加和关联到期日期数组的项目类型,那么我需要将它们“解包”为第一个显示样式的单个项目。
以下是我想出的几种不同的可能 JSON 结构:http://plnkr.co/edit/PeqZH8Va86kz1c2fULPS
【问题讨论】:
-
这个问题很容易保证一本书的几个章节。你能选择一个你想解决的特定用例吗?我们可以在一个页面中回答什么?就目前而言,问题是,我如何为整个应用程序构建数据和编写代码?另外,包括一些代码供我们检查。
标签: angularjs firebase angularfire