天儿真好, 我读过meteor正在进行所有ecmascript 6 - 并且认为很棒......“我再也不必写'函数'了 - 所以很快就将一堆函数改为lambdas ......只是发现它不起作用:(
如果你在meteor中编写一个辅助函数 - 你得到了在“this”属性中传入的数据上下文 - 当然,lambdas使用了一个词汇 - 所以我非常简单地理解了这个问题。
事情是 - 对我来说不明显的是解决方案 - 任何想法如何使用()=>制作辅助函数需要当前数据上下文的符号?除了“这个”之外它似乎没有生活吗?
答案 0 :(得分:2)
使用速记将函数定义为对象属性:
Template.someTemplate.helpers({
someHelper() {
console.log(this);
}
});
但如果你真的想使用() =>
语法,可能会对使用Template.currentData()
代替this
感兴趣:
Template.someTemplate.helpers({
someHelper: () => {
console.log(Template.currentData());
}
});
<强> Template.currentData()强>
在帮助器内部,返回DOM节点所在的数据上下文 使用了助手。
答案 1 :(得分:1)
ECMAScript 2015并未弃用function()
。箭头函数是 不是 的简写语法,它们具有不同的语义,最值得注意的是,词法this
绑定。
您无法在箭头功能中使用上下文this
- 请改用标准函数。