Programming/Vue

[Vue] 컴포넌트(Component)란 ? (개념 / 특징 / 예제)

JeongKyun 2022. 4. 21.

서론


이번 글에서는 Vue에서 가장 중요하다고 할 수 있는 컴포넌트의 개념에 대해 알아보려한다. 중요도에 비해 생각보다 정리할 내용은 그리 많지 않으니 가볍게 보면 좋을 것 같다.

 


 

<Component 구조 (그림1)>

컴포넌트(Component)란 ?


화면을 구성할 수 있는 블록을 의미한다. 위의 (그림1)에서 보면알 수 있듯 하나의 Object를 각 레이아웃 별로 컴포넌트로 쪼개서 구성할 수 있다.

 

 

 

<Component 구조 (그림2)>

특징


  • 화면을 빠르게 구조화하여 일괄적인 패턴으로 개발할 수 있다.
  • 코드를 쉽게 이해하고 재사용할 수 있다.
  • 단위테스트에 용이하다.

위의 특징들이 나올 수 있는 이유는 컴포넌트는 "블록" 개념이기 때문이다. 하나의 블록이기 때문에 구조화하기 쉽고, 재사용할 수 있는 장점이 있으며 추가로 블록 별(기능 별) 단위테스트에도 용이하다.

 

 


 

 

사용 방법


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Vue Sample</title>
  </head>
  <body>
    <div id = "app">
        <h2>Message : {{message}}</h2>
        <my-global-component></my-global-component> <!-- 전역 컴포넌트 생성-->
        <my-local-component></my-local-component> <!-- 지역 컴포넌트 생성-->
      </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.2/dist/vue.js"></script>
        <script>

          Vue.component('my-global-component', {
            template : '<div><h2>전역 컴포넌트가 등록되었습니다.</h2></div>'
          })

          var localCmp = {
            template : '<div><h2>지역 컴포넌트가 등록되었습니다.</h2></div>'
          };

          new Vue({
            el : '#app',
            components: {
              'my-local-component' : localCmp
            },
            data :  {
              message: 'Hello Vue js!',
            },
          })
        </script>

컴포넌트는 여러 방식으로 사용할 수 있지만 이번 글에서는 기본적인 전역, 지역 컴포넌트를 선언하는 방법에 대해 정리해보았다. 추가로 위 예시에 data에 담은 메세지를 출력하는 부분도 작성이 되어있다.

 

위의 실행 결과는 아래와 같다.

 

 

실행 결과

이렇게 가장 기본적인 Component의 개념에 대해 알아보았고 다음에 기회가 된다면 이 Compnent를 어떻게 구조적으로 설계하여 재사용을 하며 데이터를 주고받는 부분까지 정리를 해보도록 할 예정이다.

 

반응형

댓글

💲 많이 본 글