meteor.comの基本的なリーダーボードの例には、selected_nameというメソッドがあります。
Template.leaderboard.selected_name = function () {
var player = Players.findOne(Session.get("selected_player"));
return player && player.name;
};
{{#if selected_name}}
<div class="details">
<div class="name">{{selected_name}}</div>
<input type="button" class="inc" value="Give 5 points" />
</div>
{{/if}}
代わりに、プレーヤーオブジェクト全体を返し、そのオブジェクトをハンドルバーによってコンテキストとして処理させたいと思います。私はこれを言うことができればいいのに:
Template.leaderboard.selected_person = function () {
var player = Players.findOne(Session.get("selected_player"));
return player || false;
};
{{#if selected_person}}
<div class="details">
<div class="name">{{name}}</div>
<input type="button" class="inc" value="Give 5 points" />
</div>
{{/if}}
上記の#ifブロックは、実際には流星では機能しません。#ifステートメントはselected_personメソッドを評価しているだけであり、ネストされた{{name}}はまったく何もしません。返されたオブジェクトを#ifブロックのコンテキストとして使用できるようにメソッドを作成できるかどうかを知りたいです。