본문 바로가기
Dev/Vuejs

뷰 컴포넌트

by Ellen571 2023. 8. 22.
반응형

뷰 컴포넌트

  • 화면 영역을 구분하여 개발(헤더, 네비, 콘텐츠, 푸터...)
  • 코드의 재사용을 위함(코드 반복을 줄여서 여러 화면에 사용)
<div id="app"></div>

<script>
  new Vue({
    el: '#app'
  });
<script>
  • 뷰 인스턴스를 생성하면 기본적으로 <Root> 컴포넌트가 생성된다.

전역 컴포넌트

  • 전역 컴포넌트는 component('컴포넌트이름', 컴포넌트내용)으로 만들수 있다.
  • #app(Root 컴포넌트) 안에서 <컴포넌트이름> 태그로 사용할 수 있다.
  • 여러 인스턴스에서 공통으로 사용하며 위치에 상관없이 어디서든 호출할 수 있다.
  • 전역으로 사용해야하는 플러그인이나 라이브러리만 사용한다.
  • 최초 빌드시에 같이 빌드되기에 무거워질 수 있다.
<div id="app">
  <app-header></app-header>
</div>

<script>
  Vue.component('app-header', {
    template: '<h1>Header</h1>'
  })

  new Vue({
    el: '#app'
  });
<script>

 

지역 컴포넌트

  • 생성자에 components: {  '컴포넌트이름': 컴포넌트 내용 }을 추가한다.
  • 컴포넌트 사용 시에 주로 지역 컴포넌트를 사용하는데 이유는 특정 화면에 속성을 더해가며 사용하기에 컴포넌트 구조를 한눈에 파악하기 쉽기 때문이다.
<div id="app">
  <app-header></app-header>
</div>

<script>
  new Vue({
    el: '#app',
    components: {
      'app-header': {
        <h1>header</h1>
      }
    }
  });
<script>
반응형

'Dev > Vuejs' 카테고리의 다른 글

뷰 템플릿 문법  (0) 2023.01.14
Axios  (0) 2023.01.11
Vue Router  (0) 2023.01.11
Emit  (0) 2023.01.05
Props  (0) 2022.11.13