Front-End

[Vue.js] 단일 컴포넌트를 import 후 템플릿에 호출하는 방법(컴포넌트 뷰에 파라미터 값 전달 하는 방법)

검색된 리스트에서 다음과 같은 방법으로 이동할 페이지를 호출한다.

    moveNext(row) {
      this.$router.push({ name: 'userDetail', params: { userId: row.USER_ID } });
    },

UserDetail.vue 내용은 다음과 같다.

<template>  
    <UserDetailList />
</template>

<script>
import UserDetailList from '@/views/components/UserDetailList.vue';

export default {
  name: 'UserDetail',
  components: {
    UserDetailList,
  },
};
</script>

 

파라미터 값으로 userID라는 키값을 상세페이지에 던져서 호출하고 있으나 그 어떤 처리도 되어있지않다.

다음과 같은 방법으로 정의하여 처리한다.

템플릿 안에 컴포넌트 뷰 선언시 :userid값을 정의한다.

페이지가 created() 주기에 있을 때 라우터에서 전달 받은 userId값을 미리 선언한 변수에 set 한다.

<template>  
    <UserDetailList :userId="data.userId"/>
</template>

<script>
import UserDetailList from '@/views/components/UserDetailList.vue';

export default {
  name: 'UserDetail',
  components: {
    UserDetailList,
  },
  data: () => ({
    data: {
      userId: '',
    },
  }),
  created() {
      if (this.$route.params.userId !== undefined) {
        this.data.userId = this.$route.params.userId;
      }
  },
};
</script>

또 하나의 오류를 처리하였다. 기존 시스템에서 사용하던 것이 맞는것일까?

너무 오류 투성이다.

 

Leave a Reply

error: Content is protected !!