2017-06-06 280 views
0

引用變量我是新來的Vue並不能找到一個解決這個 -Vue公司JS - 在對象

我在這裏有一個JSON對象,我想動態獲取「信息」的一個基於他們的「userRegion」的用戶。

{ 
"userData": { 
    "kr": { 
     "info": { 
     "name": "testing-123", 
    } 
    }, 
    "any": null, 
    "us": null, 
    "eu": { 
     "info": { 
     "name": "testing-456", 
    } 
    }, 
    }, 
    "userRegion": "eu" 
} 

我然後在VUE此目的,我想動態地改變區域和拉基於在「用戶」這一區域值的對象中的數據對象下面。

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" 

變量我使用「用戶數據」是從傳下來父母像這樣:

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

和被設置爲道具:

props: { 
     userData: app.userData, 
    }, 

任何幫助將aprpeciated,感謝

回答

1

我真的不明白你在哪裏設置這個user,無論是它的一個初始化數據對象的一部分,或計算屬性。然而,有一個時間的問題有:

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

爲了建立user.nameuser.region必須已經存在。但是由於您一次創建了user對象,因此這不起作用。所以你要麼分割起來,要麼重複用戶區域的邏輯:

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

對不起,忘了解釋它是從api返回的對象!這雖然工作完美 - 謝謝你!謝謝你的解釋,現在它變得更有意義:) – user3195250