반응형
사용자의 입력 (클릭)을 사용하여 반응형으로 변하는 것을 만들어보자.
Vue에서는 단방향 즉, JS에서 message가 변경되면 HTML상의 {{ message }} 가 변경되는 단방향으로 데이터가 변경된다.
즉, 데이터가 변경되면 자동으로 HTML상의 보간된 데이터가 변경되는 것이다.
양방향, 즉 HTML상의 보간된 데이터가 JS에 정의한 message로 넘어갈 수 있다면 양방향이 된다.
양방향 데이터 바인딩을 위해서는 v-model 디렉티브를 사용할 수 있다.
HTML
<div id="app">
<div class="box" v-bind:class="{active: toggle}"> {{ message }} </div>
<button v-on:click="toggleElement">Toggle</button>
<input type="text" v-model="message">
</div>
CSS
.box {
width : 150px;
height: 150px;
background : royalblue;
border-radius : 10px;
cursor : pointer;
transition : all 1s;
color : white;
display : flex;
justify-content : center;
align-items; center;
}
.box.active {
width : 400px;
background : tomato;
}
JS
const viewModel = new Vue({
el : "#app",
data : {
toggle : false
},
methods : {
toggleElement : function() {
this.toggle = !this.toggle
}
}
})
직접 만들어보고 실행해보면 작동 원리를 느껴볼 수 있다.
methods에서는 함수를 정의하며, toggleElement :function() {}을
toggleElement () { }로 축약해서 사용할 수 있다.
반응형
'Vue.js' 카테고리의 다른 글
Vue 시작하기 (1) | 2022.10.28 |
---|---|
Vue.js - #6 데이터 흐름(상-하, 하-상, 동일), 이벤트 버스(Event Bus) (0) | 2021.10.24 |
Vue.js - #4 디렉티브, 반복문 (0) | 2021.10.15 |
Vue.js - #3 Vue Instance (0) | 2021.10.09 |
Vue.js - #2 환경 구성 (0) | 2021.10.07 |