(这个问题不是Vue特有的,但它是在Vue项目中,这就是为什么在函数和变量前面奇怪地使用this
。)
我有一个函数,它返回一个对象,该对象被解构为两个变量:
const { primaryNumber, typeOfExpression } = this.findPrimaryAndType(
this.naturalExpressionYearOfBirth,
this.gender,
);
我不再希望变量为 primaryNumber
和 typeOfExpression
,我希望它们为 this.primaryNumber
和 this.typeOfExpression
指的是我的 View 数据部分。
我使用下面的代码找到了一个糟糕的解决方法:
this.primaryNumber = primaryNumber;
this.typeOfExpression = typeOfExpression;
但这并不是最好的方法!我应该怎么办?如果我在 {}
内的变量前面添加 this
,则会收到错误,如果我删除 const,它不会接受 =
谢谢。
最佳答案
您可以拼出解构目标,而不是隐式创建 const
变量:
({
primaryNumber: this.primaryNumber,
typeOfExpression: this.typeOfExpression
} = this.findPrimaryAndType(
this.naturalExpressionYearOfBirth,
this.gender,
));
当然,这对于简洁性来说没有多大帮助。如果这两个属性是结果对象上唯一的属性,则您可以使用 Object.assign
:
Object.assign(this, this.findPrimaryAndType(
this.naturalExpressionYearOfBirth,
this.gender,
));
关于javascript - 如何在对象解构赋值的左侧使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50643463/