3

Meteor Leaderboard の例をいじっています。ハンドルバー #each ループ内のアイテムのインデックスを表示したいとしましょう:

{{#each players}}
  {{> player}}
{{/each}}

<template name="player">
  <div class="player {{selected}}">
    <span class="index">{{index}}</span>
    <span class="name">{{name}}</span>
    <span class="score">{{score}}</span>
  </div>
</template>

通常、これにはハンドルバー ヘルパーを作成しますが、Meteor コレクションで動作させる方法を理解するのに苦労しています。

どうすればこれを行うことができますか?ありがとうございました。

4

4 に答える 4

0

mongoで生成されたIDを表示しようとしている場合は、_idを使用してください

 <span class="id">{{_id}}</span>

コレクション内の一意のインデックスIDが表示されます。かわいくないでしょう。

私はあなたの質問を誤解したかもしれません。やったらごめんなさい。

于 2012-04-16T00:59:36.493 に答える
0

Mongo は通常、値が増加するインデックスを作成するという事実を使用して、これをどのように解決したか (完全な解決策ではありません) を次に示します。

Template.item.index = function() {
    return Items.find().count() - Items.find({_id: {$lte: this._id}}).count() + 1
}

次に、これをテンプレートで次のように使用します: {{index}}

お役に立てれば!

于 2013-09-13T05:03:03.330 に答える
0

この質問に対する回答を追加します。私はそれを理解するために数時間を費やさなければなりませんでした

あなたのクライアントで

Template.player.data = function(data){

if(type){

return Template[ 'player' ](data);

}

}

テンプレートで

{{#each players}}

{{data this}}

{{/each}}

これはシームレスに機能します。

于 2013-01-12T10:44:12.253 に答える