从变量(从导入的 JS)获取字符串作为对象中的键

kee*_*han 3 javascript json object node.js vue.js

如何使变量成为对象的键?

我从definitions.js 导入常量,并且需要将这些常量用作键:

import * as cons from '../scripts/definitions.js'

export default {
  data () {
    return {
      cons: cons,
      obj: {
        cons.FILENAMEA: {},
        cons.FILENAMEB: {
          children: [
            cons.CHILDFILENAME1,
            cons.CHILDFILENAME2,
            cons.CHILDFILENAME3
          ]
        }
      }
    }
  },
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我收到错误:

Parsing error: Unexpected token, expected ","
Run Code Online (Sandbox Code Playgroud)

因为 . 中的点(.)cons.FILENAMEA。这个怎么做??请注意,我需要从外部文件获取这些变量/常量。不可能只在同一个文件中声明它。

谢谢!

Dan*_*Dan 5

您可以使用 es6计算属性

obj: {
  [cons.FILENAMEA]: {},
  [cons.FILENAMEB]: {
    children: [
      cons.CHILDFILENAME1,
      cons.CHILDFILENAME2,
      cons.CHILDFILENAME3
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

括号内的表达式将被计算并用作属性名称