묻고 답해요
140만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
vue emit과 vuex 활용 질문입니다. 화면 랜더링이 되지 않습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, vue 강의를 들으면서 프로젝트를 진행하고 있는 예비개발자입니다. 두가지 질문이 있어 질문드립니다! 상단에 캠핑장 필터를 선택해 화면에 띄워주는 과정입니다. 1. 우선 컴포넌트를 나누는 기준을 잘 모르겠습니다. 1번에 해당하는 CampsiteFilter.vue와 부모 컴포넌트인 Campsite.vue로 구성되어 있습니다. 하지만, 기존에 다른 사람들이 제작해놓은 사이트의 경우 코드를 보니, 정말 세세하게 컴포넌트를 구성해놨더라구요. 어떤 상화에서 컴포넌트를 나누어야하는지 궁금합니다. 2. 컴포넌트간의 vuex와 emit사용 시 차이입니다. 그림의 왼쪽 필터 부분에서 먼저, vuex의 store를 활용해 데이터를 주고받으면 필터링을 선택하고 적용을 눌러 데이터를 받아오고자하면 데이터가 화면에서 랜더링 되지가 않습니다. 하지만, 자식컴포넌트에서 emit을 활용해 데이터를 보내주면 화면에 랜더링이 됩니다. 원인이 무엇일까요? 바쁘신 와중에 긴 내용 읽어주시고 답변해주시면 정말 감사하겠습니다!
-
미해결Nuxt.js 시작하기
v-model 사용시 $emit 키워드도 정해지나요?
props를 이용하여 데이터를 연동할때 v-model로 변경하게 되면 props의 키워드를 value로 변경 해야 했습니다. 이 경우 하위 컴포넌트로 받던 $emit도 input이라는 예약어(?)로 정해져 있나요? props의 키로 searchKeyword를 사용하면 @input="$emit('evtName', $event.target.value)" @evtName='somethingMethod' 이렇게 잘 동작했는데 props의 키를 value로 변경하게 되면 evtName로 바인딩이 안되고(물론 바인딩 할 대상이 없기도 하지만...) @input="$emit('input, $event.target.value)" 만 잘 동작 하네요. $emit 안에 있는 'input'이 정해진 규칙인건가요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
emit을 여러 군데에서 받을 수가 있나요?
emit을 여러 군데에서 받을 수가 있나요? // TodoInput.vue this.$emit('addTodoItem', this.newTodoItem); // App.vue <TodoInput v-on:addTodoItem="addOneItem"></TodoInput> 해서 받아오는 건 되었는데요. 만약에 App2.vue가 있다고 치고 // App2.vue <TodoInput v-on:addTodoItem="addOneItem"></TodoInput> App.vue, App2.vue 에서 똑같이 받으면 어떻게 되나요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
vuex 관련 질문이 있습니다!
vuex 사용시 eventbus나 emit props는 사용을 지양하는게 맞나요? eventbus를 사용하면 동일선상에 있는 컴포넌트간 통신이 훨씬 간단해질것같아서 고민입니다. 지금 댓글 crud를 만들어보고 있는데 페이지마다 달라지는 댓글 정보를 state에 저장하는건 좀 이상하다는 생각이 들어서요.ㅜㅜ