👉🏻설치방법👈🏻 바로가기
이중 중괄호
데이터 바인딩의 가장 기본 형태
html의 content를 출력할 때 사용
html 속성은 v-html
사용
문자열 보간법(text interpolation)
{{ content }}
형식
Directive(지시문) 종류
html속성에 데이터를 연결, 바인딩
v-bind
엘리먼트의 class
목록, 인라인 style
조작
v-bind:href
:href
v-on
Vue 인스턴스에서 메소드를 호출하는 이벤트 리스너를 추가
v-on:click
@click
v-slot
#
v-if
조건문
v-for
배열, 객체 등 데이터들 반복문
v-once
데이터를 한 번만 출력, 메모리 절약
v-show
엘리먼트의 display
CSS 속성을 전환
v-cloak
[v-cloak] {
display: none;
}
<div v-cloak>
{{ message }}
</div
컴포넌트
Vue에서 컴포넌트는 미리 정의된 옵션을 가진 Vue 인스턴스
컴포넌트 객체를 만들고 부모 컴포넌트의 conponents
옵션에 정의
prop
: 부모 영역의 데이터를 자식 컴포넌트에 전달script
에서는 PascalCase
을 이용한 컴포넌트명을 그대로 html
에서 dash-case
로 변경하여 태그를 생성하여 사용
애플리케이션 API
예제와 자세한 설명은 여기
Vue의 동작을 전역적으로 변경하는 API가 Vue3의 새로운 createApp
메소드에 의해 생성된 애플리케이션 인스턴스로 이동
component
config
directive
mixin
mount
provide
unmount
use
version
라이프사이클 다이어그램
beforeCreate()
Vue Application이 생성되기 전
created()
Vue Application이 생성된 직후 ⭐
beforeMount()
html구조와 연결되기 전
mounted()
html구조(DOM)와 연결된 직후 ⭐
beforeUpdate()
data의 업데이트가 아닌 화면의 업데이트를 의미
updated()
업데이트 직후
beforeUnmount()
html구조(DOM)와 해제되기 전
unmounted()
html구조(DOM)와 해제된 직후
created()
를 우선적으로 고려 후 처리되지 않는 내용은
mounted()
을 고려하면 언제 무엇을 쓸지 쉽게 결정할 수 있다.
Proxy
Proxy객체는 기본적인 동작(속성 접근, 할당, 순회, 열거, 함수 호출 등)의 새로운 행동을 정의할 때 사용
new Proxy(target, handler);
생성자 함수
get(target, key)
, set(target, key, value)
이용해서 데이터의 조회와 갱신을 감시하면서 로직을 추가
Methods
const app = Vue.createApp({
data() {
return { count: 4 }
},
methods: {
increment() {
// `this`는 컴포넌트 인스턴스를 참조합니다.
this.count++
}
}
})
const vm = app.mount('#app')
console.log(vm.count) // => 4
vm.increment()
console.log(vm.count) // => 5
methods
안의 컴포넌트 인스턴스를 참조할 때 this
값을 자동으로 바인딩methods
정의 할때만 화살표함수를 사용하지 않고, 내부에서만 가능