在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 块实际上在meteor 中不起作用。#if 语句只是评估 selected_person 方法,而嵌套的 {{name}} 绝对什么都不做。我想知道是否可以编写一个方法,以便可以将返回的对象用作#if 块的上下文。