簡體   English   中英

如何將使用“ this”關鍵字的函數傳遞給JavaScript類?

[英]How do I pass a function using “this” keyword into a JavaScript Class?

我有一堂課

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

當我使用new MenuItem("MyMenuItem", (event) => { console.log(this.title); });調用構造函數時new MenuItem("MyMenuItem", (event) => { console.log(this.title); }); this是我在其中創建MenuItem的作用域的關鍵字。

有沒有辦法在我傳遞給構造函數的函數中使用this.title

不具有箭頭功能。 箭頭函數沒有自己的上下文(也稱為this ),因此您需要一個常規的上下文:

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

這樣的事情應該起作用:

this.onPress = onPress.bind(this)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM