2015-11-17 27 views
1

我有純對象的數組(由助手返回,但它是無關的問題):如何訪問當前普通對象,我遍歷的陣列流星模板

Things = [{ 
    a: 'some thing' 
}, { 
    a: 'more thing' 
}]; 

然後,我迭代它的流星模板:

{{#each Things}} 
    <button>{{a}}</button> 
{{/each}} 

在收藏的情況下,這是一個超級方便的快捷方式的背景下,從一個事件:

Template.whatever.events({ 
    'click button':() => console.log(this); // e.g., {a: 'some thing'} 
}); 

但在普通對象的情況下,this快捷方式不起作用,它引用到window對象。

如何從偶處理程序中提取數據項是each塊的上下文,而無需向迭代程序明確添加一些唯一標識符?

回答

0

這是因爲你使用的是arrow ES15語法。箭語法保留的this在函數的上下文。我不知道爲什麼它會爲集合,而不是對象的數組工作,但如果你使用function符號相反,它會奏效。

Template.whatever.events({ 
    'click button': function() { 
     console.log(this); // e.g., {a: 'some thing'} 
    } 
});