inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

emit의 목적

255

temisone1001

작성한 질문수 1

1

완강 후 개념들을 확실히 숙지하려고 코드, 문법, 메소드등을 직접 기록하면서

다시 강의를 보는 중입니다.

 

 

<body> <div id="app"> <p>{{num}}</p> <!-- <app-header v-on: 하위 컴포넌트에서 발생한 이벤트 이름="상위컴포넌트의 메서드 이름" ></app-header> --> <app-header v-on:pass="logText"></app-header> <app-content v-on:increase="increaseNumber"></app-content> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var appHeader = { template: '<button v-on:click="passEvent">click me</button>', methods: { passEvent: function() { this.$emit('pass'); } } }; var appContent = { template: '<button v-on:click="addNumber">add</button>', methods: { addNumber: function() { this.$emit('increase'); } } } var vm = new Vue({ el: '#app', components: { 'app-header': appHeader, 'app-content': appContent }, methods: { logText: function() { console.log('hi'); }, increaseNumber: function() { this.num = this.num + 1; } }, data: { num:10 } }); </script> </body>

 

 

위 코드에서 기능적인 메소드들은 상위컴포넌트 vm에

logText와 increaseNumber로 정의 되있으니 하위컴포넌트인

appHeader와 appContent가 없어도 문법만 맞추면 해당 기능들을 구현하는데는

문제가 없을거라고 느껴집니다.

그렇게 생각이 드니 여기서 emit의 기능은 이벤트의 이름을 정의해주는 것 같은데

emit을 활용하는 방법을 더 알고싶습니다,

이벤트의 이름을 정의하는 기능만 있다고 생각하면 뭔가 허전해서요

실제로 혹시 프로젝트에서 emit은 어떤 용도로 사용될까요?

javascript vuejs

답변 1

0

캡틴판교

안녕하세요, 에밋 이벤트의 목적은 하위 컴포넌트에서 상위 컴포넌트로 뭔가 통신해야 할 때 사용하는 수단이라고 보시면 됩니다. 컴포넌트를 여러 개 만들어서 개발하시다보면 필요성을 느끼실 것 같아요 :)

개발자 툴에서 Vue가 표시되지 않는 현상.

0

96

2

chrome 확장 devtools 버전 문제

0

84

1

Vue.js not detected가 자꾸 뜹니다

0

86

2

마지막 강의가 안되요

0

57

1

data, computed, watch > Reactivity

0

52

1

f12누르고 개발자도구에 vue 탭이 안생겨요

0

92

1

vue composition api

0

74

1

강의 자료 다운이 될까요?

0

129

1

개발자 도구에서 뷰탭이 안보여요....

0

599

3

프롭스 데이터 질문입니다.

0

113

1

component.html:11 Uncaught ReferenceError: Vue is not defined at component.html:11:20 (anonymous) @ component.html:11

0

142

1

화면이 안떠요,, 이전 이후 강의는 뜨는데..

0

238

6

크롬 확장 프로그램 vue devtools 설치했는데

0

540

2

코드를 수정하고 브라우저의 Vue로 넘어가면 다운이 됩니다.

0

245

1

버튼을 클릭해도 event가 발생하지 않습니다.

0

313

1

vue3 css 경로 표시 문의

1

231

2

개발자도구 vue탭

0

358

1

화면 코드 보기

1

226

2

App.vue 내용 변경했는데 창이 연결할수없대요ㅜㅜ

1

385

2

html/css/js로 작성된 코드를 vue.js로 일부 전환하고자 이 강의를 듣기 시작했습니다.

1

892

2

{{ num }} 이 <app-content> 아래에 들어가 있을때에는 노출이 안됩니다...

1

289

2

뷰 개발자도구 이벤트 타임라인 어느 부분에서 확인가능한건가요

1

402

2

다음 단계 강의는...?

1

389

2

버튼을 눌러도 data의 값이 변경되지 않습니다

1

278

2