Vue에서는 양방향 바인딩을 v-model를 이용하여 간단하고 쉽게 할 수 있는 방법이 있습니다.
양방향 바인딩이란?
입력요소의 이벤트를 수신하는 동시에 값을 보내는 방식입니다.
동시에 데이터 통신이 일어나기 때문에 양방향 바인딩이라고 합니다
v-model 이란?
Vue의 v-bind 속성과 v-on 속성을 이용하여 양방향 바인딩을 할 수 있는 유용한 방법입니다.
- v-on 이벤트를 이용하여 데이터에 값을 넣는다.
- v-bind를 이용하여 속성에 데이터를 넣어준다.
Vue.component("App", {
data() {
return {
name: ""
};
},
template: `
<div>
<input type="text" v-bind:value="name" v-on:input="setInput"/>
<p>이름: {{ name }}</p>
</div>`,
methods: {
setInput(event) {
this.name = event.target.value;
}
}
});
setInput 이벤트롤 통해서 input 태그에 입력된 값을 name 데이터에 넣어줍니다.
name 데이터에 들어간 이름은 다시 v-bind 속성을 이용하여 input value에 값이 들어가게 됩니다.
이런 일련의 과정들을 vue 에서는 v-model를 이용하여 간단하게 구현할 수 있습니다.
Vue.component("App", {
data() {
return {
name: ""
};
},
template: `
<div>
<input type="text" v-model="name" placeHolder="이름을 입력하세요"/>
<p>이름: {{ name }}</p>
</div>`,
});
코드펜 예시
See the Pen Untitled by powerku (@powerku) on CodePen.
※ 단, 한글을 입력할 때는 한 글자를 다 입력해야 양방향 바인딩이 됩니다.
Vue 데이터 바인딩 보간법 v-bind
Vue 에서 보간법을 이용하고 데이터 바인딩 할 수 있고 v-bind를 이용해서 속성을 사용할 수 있습니다. const App = { data() { return { name: '파워쿠의 블로그', address: 'https://powerku.tistory.com/' } } } Vue 컴포넌
powerku.tistory.com
Vue 이벤트와 methods 사용하기
Vue에서 이벤트를 등록해서 사용하고 methods를 이용해서 함수를 호출할 수 있습니다. 이벤트 등록 하기 이벤트는 일반적으로 v-on을 앞에 붙이지만 줄여서 @를 사용합니다. inline-code를 이용해서 이
powerku.tistory.com