• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

컴포넌트 통신 방법 - 기본 에서 실습문제에 대해 질문 드립니다.

20.01.14 15:22 작성 조회수 111

1

컴포넌트 통신 방법 - 기본 -> event emit 실습문제 '버튼 클릭시 data num 1증가' 문제를 고민고민 하다가

<div id="app">
      <app-content v-on:add="addNum" v-bind:propsNum="num"></app-content>
   </div>

   <script>
      var appContent = {
         template: '<button v-on:click="numEvent">add</button>',
         props: ['propsNum'],
         methods: {
            numEvent: function(){
               this.$emit('add');
            }
         }
      }
      new Vue({
         el: '#app',
         components: {
            'app-content': appContent
         },
         methods: {
            addNum: function(){
               this.num++;
            }
         },
         data: {
            num: 10
         }
      });
   </script>

위의 코드와 같이 앞서 배운 props를 떠올려서 위와 같이 만들었습니다.

근데 실습 문제 풀이영상을 보니 너무 돌아가서 생각 했던 것 같더라구요...

잘 돌아가긴 하던데 문법적으로 중복이라던지 문제가 있는지 이런 식으로 코드를 작성해도 되는건가요? 

답변 1

답변을 작성해보세요.

0

안녕하세요 SSING 9님, 작성해주신 코드에서 이상한 건 없어보입니다 :) 컴포넌트 통신 방식인 props, event emit 모두 잘 적용하신 것 같아요! :) 참고로 컴포넌트 태그에서 props 속성 작성하실 때 `.vue` 파일 아닌 이상은 케밥 <-> 파스칼 변환 해주셔야 합니다. 강의에서 아마 제가 안내드릴거에요 :)

수강해주셔서 감사합니다!