"这"模板助手中的值返回Window

时间:2015-10-06 16:12:43

标签: meteor

我有以下帮助

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>

1 个答案:

答案 0 :(得分:4)

这是因为在ES2015中,箭头函数继承了周围函数的上下文,而不是自己给出。这意味着Meteor如果以这种方式定义,就无法将上下文绑定到辅助函数。

解决方案(采用ES2015风格):

Template.meetingRow.helpers({
  isOwner() function {
    console.log(this);
    return Meteor.userId() === this.owner;
  }
});

“Lexical this”下的更多here