반응형
vuejs의 json 개체에서 중첩된 키를 찾는 방법
나는 나의 Django API에서 얻고 있는 사용자 리스트의 사용자를 내 VUEjs 앱에 표시하려고 한다.
API의 My User 목록 데이터:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "http://localhost:8000/v1/users/1/",
"username": "admin",
"email": "admin@example.com",
"groups": []
}
]
}
내 VUE 코드:
<template>
<div>
<h1> Users </h1>
<div v-for="results in APIData" :result="results" :key="results.username">
<h5>{{ result.username }}</h5>
<p>{{ result.email }}</p>
</div>
</div>
</template>
<script>
import { getAPI } from '../axios-api';
import { mapState } from 'vuex';
export default {
name: 'Users',
computed: mapState(['APIData']),
created() {
getAPI.get('/v1/users/', { headers: { Authorization: 'Bearer ' + this.$store.state.accessToken } })
.then(response => {
this.$store.state.APIData = response.data
})
.catch(error => {
console.log(error)
})
}
}
</script>
API 요청이 성공한 것을 볼 수 있고 네트워크 탭에서 데이터를 볼 수 있지만 왠지 웹페이지에 데이터가 표시되지 않는다.사용자를 표시하는 방법이 올바른가?아니면 내가 뭘 놓친건가?
나 VUEJ 처음인데, 누가 좀 도와줄래?
반복만 하려면results
에APIData
:
new Vue({
el: '#demo',
data() {
return {
APIData: {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "http://localhost:8000/v1/users/1/",
"username": "admin",
"email": "admin@example.com",
"groups": []
},
{
"url": "http://localhost:8000/v1/users/1/",
"username": "user",
"email": "user@example.com",
"groups": []
}
]
}
}
},
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="demo">
<template>
<div>
<h1> Users </h1>
<div v-for="result in APIData.results" :key="result.username">
<h5>{{ result.username }}</h5>
<p>{{ result.email }}</p>
</div>
</div>
</template>
</div>
문제는 v-for에 있다.v-for="results in APIData.results"
"결과"는 접근자가 아니므로, 배열 내부의 각 값에 할당하는 이름이며, APIData는 배열이 아니다.
참조URL: https://stackoverflow.com/questions/69166225/how-to-find-nested-key-in-the-json-object-in-vuejs
반응형
'programing' 카테고리의 다른 글
Vue에 페이지를 남겨두기 전에 저장되지 않은 변경 사항을 사용자에게 경고하는 방법 (0) | 2022.05.16 |
---|---|
파일 설명자와 파일 포인터의 차이점은? (0) | 2022.05.16 |
"|="는 무슨 뜻인가?(파이프 이퀄 오퍼레이터) (0) | 2022.05.16 |
스프링 부트 - 예외를 포함한 모든 요청 및 응답을 한 곳에 기록하는 방법 (0) | 2022.05.16 |
파이프 문자("|")로 문자열 분할 (0) | 2022.05.16 |