Vue
-
Vue.js 문법 - 컴포넌트 EmitVue/Vue.js 문법 2021. 7. 16. 02:54
Emit - 이벤트를 상속 App.vue Banana MyBtn.vue 결과 코드 이해하기 - 자식 컴포넌트(MyBtn.vue) 최상위 요소가 2개이므로 속성 상속이 적용되지 않음 - 즉, 부모 컴포넌트(App.vue)의 @click 이벤트가 동작하지 않음 - 이벤트를 직접 연결하기 위해 emit 을 사용 - emits 옵션 추가, 부모 컴포넌트 이벤트(click)를 명시 - @click="$emit('click')" 작성하면 부모 요소의 연결되어 있는 이벤트와 연결 - 예제 결과에서 오른쪽 버튼을 누를때만 동작 (부모 컴포넌트 메소드 log() 동작) @click="$emit('ITBlue')" emits: [ 'ITBlue' ] - click이 아닌 원하는 이름의 이벤트를 자유롭게 만들어 사용할 수도..
-
Vue.js 문법 - 컴포넌트 속성 상속Vue/Vue.js 문법 2021. 7. 16. 02:23
컴포넌트 속성 상속 App.vue Banana MyBtn.vue 결과 코드 이해하기 - 바로 자식 요소를 최상위 요소(루트 요소) 라고 부름 - 부모 컴포넌트(App.vue)의 속성과 값이 자식 컴포넌트(MyBtn.vue)의 최상위 요소에게 상속됨 - 이러한 개념을 속성 상속이라고 부름 - 최상위 요소가 2개 이상인 경우에는 2개 요소 모두 상속이 되지 않음 (어느 부분에 상속이 되는지 알 수 없기 때문) inheritAttrs MyBtn.vue 코드 이해하기 - inheritAttrs: false 속성의 상속을 사용하지 않는다 - 최상위 요소가 1개라도 상속하지 않음 특정한 요소에 상속을 사용하기 MyBtn.vue 결과 코드 이해하기 - 2개의 최상위 요소 (왼쪽은 상속 제거, 오른쪽은 상속 적용) -..
-
Vue.js 문법 - 컴포넌트 기초Vue/Vue.js 문법 2021. 7. 16. 00:52
컴포넌트 - 컴포넌트는 이름이 있는 재사용 가능한 인스턴스 예제 App.vue MyBtn.vue Apple 결과 컴포넌트 재활용 App.vue 결과 코드 이해하기 - 버튼 여러개가 화면에 출력 - 한번 만들어놓은 컴포넌트(Mybtn.vue)를 재활용 Props - 컴포넌트에 데이터를 전달하기 위해 props 가 등장 - Props 는 컴포넌트에 등록할 수 있는 커스텀 속성 - 값이 props 속성에 전달되면, 그 값은 해당 컴포넌트 인스턴스의 속성이 됨 - 부모 컴포넌트와 자식 컴포넌트 간의 데이터 통신 방법 이라고도 부름 예제1 - 데이터 전달 App.vue MyBtn.vue Apple 결과 예제2 - 클래스 추가 App.vue MyBtn.vue Apple 결과 예제3 - Slot - 컴포넌트 사이에 ..
-
Vue.js 문법 - v-model 수식어Vue/Vue.js 문법 2021. 7. 15. 23:11
v-model 수식어 .lazy .number .trim .lazy {{ msg }} 코드 이해하기 - 양방향 데이터 바인딩 예제 - @change 이벤트는 값이 바뀌고 나서 동작, 완료가 되어야 동작 - v-model 에서는 @change 이벤트를 .lazy 수식어로 사용 .number {{ msg }} 코드 이해하기 - input 요소에다가 입력 해야 하는 데이터가 숫자 데이터를 유지해야 한다면 .number 수식어를 사용 .trim {{ msg }} 코드 이해하기 - 앞쪽과 뒤쪽의 공백을 항상 제거한 상태로 유지
-
Vue.js 문법 - 폼 입력 바인딩Vue/Vue.js 문법 2021. 7. 15. 20:44
단방향 데이터 바인딩(연결) {{ msg }} 코드 이해하기 - data() 부분에 msg 데이터를 input 요소에 value라는 속성에 연결 - 추가로 h1 요소에 콘텐트 (content)로도 연결하여 화면에 출력 - 데이터 부분에서 HTML (template) 방향으로만 흐른다 (연결되어 있다) - 이러한 개념을 단방향 데이터 바인딩 이라고 부름 - 그렇기 때문에 input 요소를 수정하여도, 수정된 내용이 data의 msg 데이터를 갱신하지 않음 양방향 데이터 바인딩 {{ msg }} 코드 이해하기 - @input 이벤트는 input 요소에 데이터가 입력되면 handler() 동작 - handler() 는 input 요소에 데이터를 가져와서 msg 데이터를 갱신 - 갱신된 msg 데이터는 연결된 ..
-
Vue.js 문법 - 키 수식어Vue/Vue.js 문법 2021. 7. 15. 19:27
키 수식어 - Vue에서 키 이벤트를 청취할 때 수식어로 v-on 또는 @ 를 더할 수 있다 - 체이닝이 가능하다 - keyboardEvent.key 를 통해 노출된 유효 키 이름을 케밥 케이스로 변환하여 수식어로 사용할 수 있다 키 명령어 - Vue는 자주 사용하는 키 명령어를 제공 .enter .tab .delete (“Delete” 와 “Backspace” 키 모두를 캡처합니다) .esc .space .up .down .left .right
-
Vue.js 문법 - 이벤트 수식어Vue/Vue.js 문법 2021. 7. 15. 02:28
이벤트 수식어 - 이벤트 핸들러 내부에서 event.preventDefault() 또는 event.stopPropagation()를 호출하는 것은 매우 보편적인 일 - 메소드 내에서 쉽게 이 작업을 할 수 있지만, DOM 이벤트 세부 사항을 처리하는 대신 데이터 로직에 대한 메소드만 사용할 수 있으면 더 좋습니다. - 이 문제를 해결하기 위하여, Vue는 v-on이벤트에 이벤트 수식어를 제공, 수식어는 점으로 된 접미사 .stop .prevent .capture .self .once .passive ... ... ... 이벤트 버블링 결과 코드 이해하기 - 파란 박스 (parent)를 클릭하면 handlerA() 동작 - 오렌지 박스 (child)를 클릭하면 handlerB() 동작, 이후 부모 요소 h..
-
Vue.js 문법 - 이벤트 핸들링Vue/Vue.js 문법 2021. 7. 14. 23:40
이벤트 청취 v-on 디렉티브는 Dom 이벤트를 듣고 트리거 될 때와 JS를 실행할 때 사용 v-on:click="methodName" 줄여서 @click="methodName" 으로 사용 메소드 이벤트 핸들러 Greet Vue.createApp({ data() { return { name: 'Vue.js' } }, methods: { greet(event) { // 메소드 안에서 사용하는 `this` 는 Vue 인스턴스를 가리킵니다. alert('Hello ' + this.name + '!') // `event` 는 네이티브 DOM 이벤트입니다 if (event) { alert(event.target.tagName) } } } }).mount('#event-with-method') - 클릭이라는 이벤트..