반응형
구성 요소가 로드될 때 데이터를 검색하는 방법
프로젝트 목록이 있는데, 클릭된 프로젝트 이름을 다음 페이지에 모달로 표시하려고 하는데, 그 중 하나를 클릭하면 문제없이 로드되어 내 모달에 관련 이름이 표시됩니다.
그러나 이 프로젝트 페이지를 새로고침하면 "Cannot read property 'asso_id of undefined"라는 오류가 발생합니다.
프로젝트 오브젝트 내의 asso_id를 취득하기 위해 getter를 사용하여 프로젝트를 id로 취득하고, 이 asso_id를 id getter에 의해 내 어소시에이션과 함께 이 asso_id를 사용합니다.
내 생각엔 내 컴포넌트가 어소시에이션을 검색하지 못하기 때문인 것 같아곧 타이틀이 될 거야
여기 제 코드가 있습니다.
computed: {
"getProjectById",
"getAssociationById"
]),
project() {
const projectId = this.$route.params.id;
return this.getProjectById(projectId);
},
associationTitle() {
const project = this.project;
const association = this.getAssociationById(project.asso_id);
return association.title;
}
}
getters: {
getProjects: state => {
return state.projects = [...ProjectData.ProjectData];
},
getProjectById: state => id => {
return state.projects.find(project => project._id === id);
},
getAssociations: state => {
return state.associations = [...AssociationData.AssociationData];
},
getAssociationById: state => id => {
state.associations = [...AssociationData.AssociationData];
return state.associations.find(association => association._id === id);
}
}
<v-card-title class="headline grey lighten-2" primary-title> {{ associationTitle }} </v-card-title>
네가 맞힌 것 같아.프로젝트가 있는지 확인만 하면 됩니다.
associationTitle() {
const project = this.project;
const title = project ? this.getAssociationById(project.asso_id).title : '';
// or typeof project !== 'undefined' or something similar
return title;
}
언급URL : https://stackoverflow.com/questions/63022906/how-to-retrieve-data-when-component-is-loaded
반응형
'programing' 카테고리의 다른 글
C를 사용한 JSON 해석 (0) | 2022.10.25 |
---|---|
기능 조기 종료? (0) | 2022.10.25 |
MySQL - 여러 테이블의 관련 행 수 (0) | 2022.10.25 |
열에서 URL의 일부를 제거하는 SQL 문 (0) | 2022.10.25 |
사용자가 PHP의 localhost에 있는지 어떻게 검출할 수 있습니까? (0) | 2022.10.25 |