使用Meteor获取列表中的项目/元素位置

时间:2014-01-10 21:15:57

标签: meteor

如何在列表中获得项目的位置?

我正在尝试做以下事情:

模板:

{{#each people}}
  {{position}}.- {{name}}
{{/each}

JS:

Template.leaderboard.people = -> Players.find({}, { sort: { rank: 1 } })
Template.leaderboard.position = -> ???

因此,如果玩家的数据是:

[ 
  { name: "Tom", rank: 1.2 }, 
  { name: "Dick", rank: 0.7 },
  { name: "Harry", rank: 1.5 }
]

结果将是:

1.- Dick
2.- Tom
3.- Harry

也许有一种方法可以用mongo投影来做,但我找不到。

更新/答案:

Template.leaderboard.people = -> 
  Players.find({}, { sort: { rank: 1 } }).map (doc,index) ->
    doc.position = index + 1
    doc

1 个答案:

答案 0 :(得分:0)

这更简单,并将HTML标记用于有序列表:

<ol>
   {{#each people}}
      <li>- {{name}}</li>
   {{/each}
</ol>

Template.leaderboard.people = -> 
    Players.find({}, { sort: { rank: 1 } })

更多细节 http://www.w3schools.com/tags/tag_ol.asp

http://www.w3schools.com/html/tryit.asp?filename=tryhtml_lists