根据 docs.meteor,在“Template.myTemplate.rendered”回调的主体中,“this”是一个模板实例对象。
但是,当我在回调中插入“调试器”行并使用浏览器开发工具检查时,“this”的值是“window”。难道我做错了什么?
我正在使用排行榜示例 - 这是车把模板:
<template name="leaderboard">
{{#each players}}
{{> player}}
{{/each}}
{{#if selected_name}}
<div class="details">
<div class="name">{{selected_name}}</div>
<input type="button" class="inc" value="Give 5 points" />
<input type="button" class="fastclick inc" value="Give 5 points - fast" />
</div>
{{/if}}
{{#unless selected_name}}
<div class="none">Click a player to select</div>
{{/unless}}
</template>
<template name="player">
<div class="player {{selected}} fastclick">
<span class="name">{{name}}</span>
<span class="score">{{score}}</span>
</div>
</template>
以及“Template.leaderboard.rendered”回调:
Template.leaderboard.rendered = function (){
Meteor.defer(function() {
debugger;
new FastClick(document.body);
console.log("Template.leaderboard.rendered: " + JSON.stringify(this));
});
}
}