在Vue组件中,我有如下所示的方法
methods: {
submitMethod() {
let objA = {
id: this.id,
this.anObject
}
}
}
它给出,语法错误:这是一个保留字。
如何在Vue.js方法的对象中使用在数据()或计算之类的地方定义的对象?
解决办法之一是,可以将this.anObject分配给局部变量,并在objA中使用该变量,如下所示
submitMethod() {
let anObject = this.anObject
let objA = {
id: this.id,
anObject
}
}
但是,是否有一种直接在this.anObject中使用objA的方法?
发布于 2017-10-24 17:44:39
如果可以使用object restSpread运算符,则可以使用它:
methods: {
submitMethod() {
let objA = {
id: this.id,
...this.anObject
}
}
}
否则,您可以使用Object.assign:
methods: {
submitMethod() {
let objA = Object.assign(this.anObject, {
id: this.id,
})
}
}
发布于 2017-10-24 17:44:01
那是因为您的JSON无效。应该就像
let objA = {
id: this.id,
anObject: this.anObject
}
发布于 2018-11-27 08:08:42
我们可以通过复制这个关键字作为局部变量来使用这个关键字。
methods: {
submitMethod() {
let _this = this;
let objA = Object.assign(this.anObject, {
id: _this.id,
})
}
}
https://stackoverflow.com/questions/46916829
复制相似问题