반응형
Vue.js - [Vue warn]을(를) 어떻게 해결해야 하는가:렌더 오류: "TypeError: 정의되지 않은 속성 '포트'를 읽을 수 없음"?
내 물체는 다음과 같다:
{
"container_status": {
"name": "/dev-ms",
"port": {
"2233/tcp": [
{
"HostPort": "123"
}
]
}
}
}
키 값을 표시하려는 경우HostPort
나는 이렇게 노력한다.
console.log(data.container_status.port['2233/tcp'][0].HostPort)
그건 효과가 있다.
그러나 오류가 있음:
[부유 경고]:렌더 오류: "TypeError: 정의되지 않은 속성 '포트'를 읽을 수 없음"
다음과 같은 내 vue 구성 요소:
<template>
...
<v-flex xs4>
<p class="">{{data.container_status.port['6690/tcp'][0].HostPort}}</p>
</v-flex>
...
</template>
<script>
export default {
...
};
</script>
어떻게 하면 이 오류를 해결할 수 있을까?
구성 요소를 로드할 때 데이터 개체가 준비되지 않은 것 같은데 이 문제를 해결하려면 다음을 수행하십시오.
<p class="">{{!!data.container_status?data.container_status.port['6690/tcp'][0].HostPort:""}}</p>
또는
<p class="" v-if="data.container_status">{{data.container_status.port['6690/tcp'][0].HostPort}}</p>
나는 매우 복잡한 것에 대해 계산된 것을 사용할 것이고, 계산된 것은 data.container_status가 변경되면 값을 업데이트 할 것이다.
computed: { HostPort() { if(!this.data.container_status) { return '', } return this.data.container_status.port['6690/tcp'][0].HostPort } }
<p class="">{{HostPort}}</p>
다른 속성이 정의되지 않도록 하기 위해 나는 계산된 https://lodash.com/docs/4.17.15#get의 lodash를 사용할 것이다.
반응형
'IT이야기' 카테고리의 다른 글
검색되지 않은 오류 처리 방법: [nuxt] store/index.js는 Vuex 인스턴스를 반환하는 방법을 내보내야 함 (0) | 2022.04.17 |
---|---|
웹 주소록 수신기에서 전역 이벤트 방출 (0) | 2022.04.17 |
Vue.js의 헤더 및 바닥글 구성 요소 (0) | 2022.04.16 |
공유 라이브러리를 구축할 때 -fPIC는 무엇을 의미하는가? (0) | 2022.04.16 |
django를 이용한 Vuejs 앱 개발 및 구축 (0) | 2022.04.16 |