一个例子可以更好地说明我的问题。
someFunc: function() {
this.somePublicFunc(this.columns[0])
}
使用常规函数(),this.columns将指向obj.columns。有没有办法在胖箭头函数中访问此范围的函数?
或者我可以在非胖箭头函数中调用公共函数吗?
{{1}}
编辑:我知道我可以访问obj.columns,但正在寻找其他选项,因为这不是实际代码最优雅的选项。
编辑:这是将所有公共方法快速更改为箭头功能的全部结果。我甚至从未想过将问题方法改为传统的非胖箭头功能。问题解决了,自我伤痕累累。
答案 0 :(得分:2)
请记住,箭头函数在声明函数时根据当前this
确定其this
,而不是基于它在对象中的位置。
在上面的代码中,假设它在全局运行,this
指针在浏览器中为window
,在声明函数global
时在节点中为someFunc
这将是箭头函数内的this
指针。
通常,使用传统的函数声明可以解决您的问题,除非this
被其他内容更改。