programing

구성 요소가 로드될 때 데이터를 검색하는 방법

shortcode 2022. 10. 25. 20:18
반응형

구성 요소가 로드될 때 데이터를 검색하는 방법

프로젝트 목록이 있는데, 클릭된 프로젝트 이름을 다음 페이지에 모달로 표시하려고 하는데, 그 중 하나를 클릭하면 문제없이 로드되어 내 모달에 관련 이름이 표시됩니다.

그러나 이 프로젝트 페이지를 새로고침하면 "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

반응형