본문 바로가기

개발

[Vue] 전역 component

기대 효과

원하는 영역을 component로 만들어서 조립하듯이 사용할 수 있다.

코드의 재사용성이 올라간다.

+) 전역 component보다는 지역 component가 더 많이 쓰인다.

 

양식

<div id="app">
  <global-component></global-component>
</div>


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


<script>
  //전역 컴포넌트 등록
  Vue.component('global-component', {
    template: '<p>전역 컴포넌트</p>'
  });

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

 

예제

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>


<body>
    <div id="app">
        <global-component></global-component>
        <global-component></global-component>
        <global-component></global-component>
    </div>
</body>


<script>
    Vue.component('global-component', {
        template: `
            <div>   
                <form v-on:submit="onSubmitForm">
                    <input type="number" v-model="num">
                    <button>click</button>
                    <div>{{num}}</div>
                </form>
            </div>
        `,
        props: [],
        data() {
            return {
                num: '',
            };
        },
        methods: {
            onSubmitForm(e) {
                e.preventDefault();
                this.num = this.num * this.num;
            }
        }
    })
</script>

<script>
    const app = new Vue({
        el: '#app'
    });
</script>
</html>