如何使用&#34来传递函数;这个"关键字到JavaScript类?

时间:2017-10-19 15:20:29

标签: javascript class

我有一个班级

class MenuItem {
  constructor(title, onPress) {
    this.title = title;
    this.onPress = onPress;
  }
}

当我使用new MenuItem("MyMenuItem", (event) => { console.log(this.title); });调用构造函数时,关键字this指的是我在其中创建MenuItem的范围。

有没有办法在我传递给构造函数的函数中使用this.title

2 个答案:

答案 0 :(得分:4)

没有箭头功能。箭头函数没有自己的上下文(又名this),所以你需要一个常规的:

MenuItem("MyMenuItem", function(event){ 
  console.log(this.title); 
});

答案 1 :(得分:0)

这样的事情应该有效:

this.onPress = onPress.bind(this)