这在 class 中未定义
this is undefined in class
我有以下class
class ContractStore {
clauses = [];
addClause() {
this.clauses.push({
id: uuidv1()
})
}
}
export let contractStore = new ContractStore();
然后将其导入为
import { contractStore } from '../store/ContractStore'
...
contractStore.addClause()
并且我在 addClause()
方法中得到 this
作为 undefined
。我在这里做错了什么?
您没有在此处设置上下文。您可以通过两种方式做到这一点。
箭头函数方式
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()
})
}
}
谢谢。欢迎反馈
我有以下class
class ContractStore {
clauses = [];
addClause() {
this.clauses.push({
id: uuidv1()
})
}
}
export let contractStore = new ContractStore();
然后将其导入为
import { contractStore } from '../store/ContractStore'
...
contractStore.addClause()
并且我在 addClause()
方法中得到 this
作为 undefined
。我在这里做错了什么?
您没有在此处设置上下文。您可以通过两种方式做到这一点。
箭头函数方式
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()
})
}
}
谢谢。欢迎反馈