컴포넌트 통신(같은 레벨)

soplia080 gyp·2022년 1월 30일

Vue Js

목록 보기
6/18

  • appContent에서 AppHeader로 10이라는 값을 넘기는 로직
  • 둘이 고속도로가 뚫려 있지 않기 때문에 Root를 경유하야됨.
  • appContent에서 Root의 num에 데이터 할당 -> Root는 num값을 propsdata에 할당
<body>
    <div id="app">
        <!-- {{}} : 콧수염 괄호라고도 불림 -->
        <app-header v-bind:propsdata="num"></app-header>
        <!-- 암묵적으로 deliverNum(value) 할당 -->
        <app-content v-on:pass="deliverNum"></app-content>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var appHeader = {
            template : '<div>{{propsdata}}</div>',
            props : ['propsdata']
        }

        var appContent= {
            template : '<div>content<button v-on:click="passNum">pass</button></div>',
            methods : {
                passNum:function(){
                    this.$emit('pass',10);
                }
            }
        }

        new Vue({
            el: '#app',
            components: {
                'app-header': appHeader,
                'app-content': appContent
            },
            methods:{
                deliverNum:function(value){
                    this.num=value;
                }
            },
            data:{
                num:0
            }
        })
    </script>
</body>
profile
배우면서 나아가자

0개의 댓글