2015-10-06 73 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