我有以下帮助
Template.meetingRow.helpers({
isOwner: () => {
console.log(this);
return Meteor.userId() === this.owner;
}
});
将Window对象记录到控制台。
此对象返回Template.meetingRow.events中的正确对象,并在模板中使用正确的值,但在帮助程序中不正确。我误解了什么吗?
以下是如何在其父模板中实例化的:
<ul class="list-group">
{{#each meetings}}
{{ > meetingRow }}
{{/each}}
</ul>
答案 0 :(得分:4)
这是因为在ES2015中,箭头函数继承了周围函数的上下文,而不是自己给出。这意味着Meteor如果以这种方式定义,就无法将上下文绑定到辅助函数。
解决方案(采用ES2015风格):
Template.meetingRow.helpers({
isOwner() function {
console.log(this);
return Meteor.userId() === this.owner;
}
});
“Lexical this”下的更多here。