[英]this is undefined in class
我有以下課程
class ContractStore {
clauses = [];
addClause() {
this.clauses.push({
id: uuidv1()
})
}
}
export let contractStore = new ContractStore();
然后將其導入為
import { contractStore } from '../store/ContractStore'
...
contractStore.addClause()
而我得到this
是undefined
的addClause()
方法。 我在這里做錯了什么?
您缺少在此處設置上下文的信息。 您可以通過兩種方式來實現。
箭頭功能方式
class ContractStore {
clauses = [];
addClause = () => {
this.clauses.push({
id: uuidv1()
})
}
}
或綁定方式
class ContractStore {
constructor() {
this.addClause = this.addClause.bind(this)
}
clauses = [];
addClause() {
this.clauses.push({
id: uuidv1()
})
}
}
謝謝。 歡迎反饋
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.