我有以下课程
class ContractStore {
clauses = [];
addClause() {
this.clauses.push({
id: uuidv1()
})
}
}
export let contractStore = new ContractStore();
然后将其导入为
import { contractStore } from '../store/ContractStore'
...
contractStore.addClause()
,在this
方法中,我得到undefined
作为addClause()
。我在这里做什么错了?
答案 0 :(得分:0)
您缺少在此处设置上下文的信息。您可以通过两种方式来实现。
箭头功能方式
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()
})
}
}
谢谢。欢迎反馈