我正在使用Node.js设计一个仪表板来测量人们的目标。我目前设置了后端,可以添加新目标。
来自MongoDB的一些示例数据:
var = targets = [
{
_id: ObjectId("53e0d2e340db30cb151413d4"),
owner: "Some Guy",
objective: "Make coffee",
metric: "Availability",
rag: "Amber"
},
{
_id: ObjectId("53e0d2e340db30cb151413d4"),
owner: "Someone Else",
objective: "Answer phones",
metric: "Blah",
rag: "Green"
},
{
_id: ObjectId("53e0d2e340db30cb151413d4"),
owner: "Some Guy",
objective: "Clean desks",
metric: "Wah",
rag: "Red"
}
];
要删除重复的所有者以显示选项卡列表,我使用EJS和Underscore.js获得以下代码:
<% _.each(targets, function(target) { %>
<% if ((arr.indexOf(target.owner)) === -1) { %>
<% arr.push(target.owner) %>
<% } %>
<% }) %>
其中将以下帖子数据生成到轮播,该轮播具有每个所有者的选项卡。在标签中,可以选择在该所有者的多个目标之间进行点击。
每个拥有者可以拥有多个目标,因此当他们选择了标签时,我可以滑过旋转木马。我无法弄清楚的是我将如何从特定所有者那里获取每个目标,并在其标签下添加所有目标等等。
我的想法是为每个所有者创建一个新数组,然后遍历所有目标,将特定目标添加到正确的所有者数组。所以我已经开始这个了,但是我不确定如何推送到特定的数组,或者这是否是正确的方法呢?
<% _.each(arr, function(owner, i) { %>
<% this['targets_' + i] = [] %>
<% _.each(targets, function(target) { %>
<%if (target.owner === owner) {%>
<%(['targets_' + i]).push(target.id)%>
<% console.log(target.id) %>
<%}%>
<% }) %>
<% } %>