【发布时间】:2016-09-13 10:51:20
【问题描述】:
我想显示每只动物的最后活动状态,而活动状态和动物可能会随着时间而改变。
首先我得到这个 JSON:
$scope.JSON = [
{"Animal" : "Horse", "Status" : "awake", "LastUpdate" : { "$date" : 1473248184519 }},
{"Animal" : "Rabbit", "Status" : "awake", "LastUpdate" : { "$date" : 1473248194240 }},
{"Animal" : "Rabbit", "Status" : "eating", "LastUpdate" : { "$date" : 1473249639255 }},
{"Animal" : "Horse", "Status" : "eating", "LastUpdate" : { "$date" : 1473249652549 }},
{"Animal" : "Horse", "Status" : "sleeping", "LastUpdate" : { "$date" : 1473249656338 }}
]
如果动物正在做新的事情,JSON 会自动更改,例如兔子现在正在睡觉,就像新动物出现一样,f.e.一头牛:
$scope.JSON = [
{"Animal" : "Horse", "Status" : "awake", "LastUpdate" : { "$date" : 1473248184519 }},
{"Animal" : "Rabbit", "Status" : "awake", "LastUpdate" : { "$date" : 1473248194240 }},
{"Animal" : "Rabbit", "Status" : "eating", "LastUpdate" : { "$date" : 1473249639255 }},
{"Animal" : "Horse", "Status" : "eating", "LastUpdate" : { "$date" : 1473249652549 }},
{"Animal" : "Horse", "Status" : "sleeping", "LastUpdate" : { "$date" : 1473249656338 }},
{"Animal" : "Rabbit", "Status" : "sleeping", "LastUpdate" : { "$date" : 1473249659505 }},
{"Animal" : "Cow", "Status" : "awake", "LastUpdate" : { "$date" : 1473249659505 }};
]
这个 JSON 会随着时间的推移而扩展,因此我只想在表格中显示不同动物的最后一个值,如下所示:
主要问题是,随着时间的推移将新动物添加到 JSON 中,应该会自动检测并添加到表中。
我想到了两个解决方案:
1、ng-repeat + filter + limitTo
对于此尝试,请查看此 Plunker https://plnkr.co/edit/ftea6vd1qaPZaXGusZAN
除了自动检测新动物之外,这几乎为我提供了一切,有什么建议?
2,为每只动物创建子集 JSON
我会创建一个新的 JSON 子集,其中只包含一个动物,并在这个新的 JSON 上重复 ng(带有 lastitem)。通过遍历所有动物(如何获取所有动物?也许作为一个 foreach 列表?)我可以获得每只动物的最后状态?
这是否更好,甚至可能?
【问题讨论】: