강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

SSING 9님의 프로필 이미지
SSING 9

작성한 질문수

Vue.js 시작하기 - Age of Vue.js

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

작성

·

197

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` 파일 아닌 이상은 케밥 <-> 파스칼 변환 해주셔야 합니다. 강의에서 아마 제가 안내드릴거에요 :)

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

SSING 9님의 프로필 이미지
SSING 9

작성한 질문수

질문하기