Javascript Vue js-对象中的引用变量

Javascript Vue js-对象中的引用变量,javascript,json,vue.js,Javascript,Json,Vue.js,我是vue新手,无法找到解决方案- 这里有一个JSON对象,我正试图根据用户的“userRegion”动态获取用户的“info” { "userData": { "kr": { "info": { "name": "testing-123", } }, "any": null, "us": null, "eu": { "info": { "name": "testing-456",

我是vue新手,无法找到解决方案-

这里有一个JSON对象,我正试图根据用户的“userRegion”动态获取用户的“info”

{
"userData": {
    "kr": {
      "info": {
        "name": "testing-123",
     }
    },
    "any": null,
    "us": null,
    "eu": {
      "info": {
        "name": "testing-456",
     }
    },
  },
   "userRegion": "eu" 
}
然后,我在vue中有了这个对象,我想动态地更改区域,并根据下面“user”对象中的这个区域值从对象中提取数据

 user:{ 
        region:  this.userData.userRegion,
        name: this.userData[this.user.region].info.name
    },
例如,我尝试过使用这样的东西

this.userData.userData[this.user.region] 
但我有一个错误:

TypeError: Cannot read property 'region' of undefined"
我使用的变量“userData”是从父级传递下来的,如下所示:

<infoWindow :userData='userData'></infoWindow>

任何帮助都将是特别的,谢谢

我真的不明白您在哪里设置这个
用户
,不管它是初始化数据对象的一部分还是计算属性。然而,这里有一个暂时的问题:

user: {
    region: this.userData.userRegion,
    name: this.userData[this.user.region].info.name
},
要设置
user.name
user.region
必须已经存在。但是,由于您要立即创建
用户
对象,因此这不起作用。因此,您要么将其拆分,要么再次对用户区域重复该逻辑:

user: {
    region: this.userData.userRegion,
    name: this.userData[this.userData.userRegion].info.name
},

抱歉,忘了解释它来自返回对象的api!不过,这非常有效-谢谢!谢谢你的解释,现在它更有意义了:)
user: {
    region: this.userData.userRegion,
    name: this.userData[this.userData.userRegion].info.name
},