在Vue组件中,我有一个如下所示的方法
methods: {
submitMethod() {
let objA = {
id: this.id,
this.anObject
}
}
}
它给出了,语法错误:这是一个保留字。
如何在Vue.js中的方法对象中使用对象(在data()或computed等地方定义?
一个解决方法是,this.anObject可以分配给局部变量并在objA中使用该变量,如下所示
submitMethod() {
let anObject = this.anObject
let objA = {
id: this.id,
anObject
}
}
但是,有没有办法直接在objA中使用this.anObject?
答案 0 :(得分:1)
如果您可以使用对象restSpread运算符,则可以使用它:
methods: {
submitMethod() {
let objA = {
id: this.id,
...this.anObject
}
}
}
否则,您可以使用Object.assign:
methods: {
submitMethod() {
let objA = Object.assign(this.anObject, {
id: this.id,
})
}
}
答案 1 :(得分:0)
那是因为您的JSON无效。它应该像
let objA = {
id: this.id,
anObject: this.anObject
}
答案 2 :(得分:0)
我们可以在复制此关键字作为局部变量的帮助下使用此关键字。
methods: {
submitMethod() {
let _this = this;
let objA = Object.assign(this.anObject, {
id: _this.id,
})
}
}