2015-10-06 72 views
2

我有以下几个帮手模板帮手“这个”值返回窗口

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> 

回答

4

这是因为在ES2015,箭头的功能继承了周边功能的情况下,而不是给自己。这意味着如果以这种方式定义Meteor,则不能将上下文绑定到辅助函数。

解决方案(在ES2015风格):

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

更多here “这个词汇” 下。

+0

非常感谢!就是这样 – Vartan