Vue
프론트엔드 개발 공부를 위해 SPA페이지 제작을 위한 Javascript 프레임워크 중 Vue를 공부해보도록하겠습니다.
Vue에 대한 설명 및 장단점은 추후 포스팅하도록 하고, 지금은 사용방법에 대해서만 포스팅을 하도록 하겠습니다.
v-on
v-on 어트리뷰트를 통해 이벤트를 발생시킬 수 있습니다.
그리고
약어 [ @ ] 를 통해 단축이 가능합니다.
1 | <button v-on:click.once="Function">이벤트</button> |
keyboard event
1 | <input type="text" v-on:keyup="logName()"><!-- keyup 이벤트가 발생할때마다 logName 함수실행 --> |
mouse event
mousemove
키보드 이벤트와 마찬가지로 마우스 이벤트도 가능합니다.
1 | <div id="canvas" v-on:mousemove="updataXY">{{x}},{{y}}</div> |
선언 후
1 | new Vue({ |
이렇게 마우스의 현재값(offset)값을 알려주는 이벤트도 발생시킬 수 있습니다.
click
1 | <button v-on:click="minus(1)">1년빼기</button> |
dblclick
1 | <button v-on:dblclick="minus(10)">10년빼기</button><!-- 클릭이벤트 앞에 dbl을 붙여주므로써 더블클릭시 이벤트가 발생하도록 할수있다 --> |
once
1 | <button @click.once="add(1)">1년더하기</button> <!-- once를 통해 한번만 실행되게 할 수 있다 --> |
prevent
a태그 클릭시 링크되는기능을 막아줄 수 있다.
1 | e.preventDefault(); |
보통 우리는 a태그시 링크되는것을 막기위해서 위와같은 방법을 사용했었다. 하지만 Vue에서는 prevent를 통해 이를 수행 할 수 있다.
1 | <a v-on:click.prevent="click()" href="https://tuhbm.github.io">블로그 바로가기</a> |
를 html에서 설정할 수 있다는것이다.
더많은 v-on 한국어 설명은 링크를 통해 확인
v-bind
1편 에서도 잠시 소개해 드린 v-bind 어트리뷰트는 동적으로 하나 이상의 컴포넌트 속성 또는 표현식을 바인딩 합니다.
클래스나 스타일을 넣을때도 많이 사용됩니다.
그리고
약어 [ : ] 를 통해서 줄일 수도 있습니다.
예를 들어
1 | <div v-bind:class="className"></div> |
이런식으로 사용이 가능합니다.
class binding
클래스를 바인딩 할때 아래와같은 표현도 가능합니다.
1 | <div v-bind:class="{red:true, blue:true}"></div> |
이렇게 표현되는것을 보실 수 있습니다.
이를통해 토글이벤트도 발생시킬수 있습니다.
toggle event
1 | <div v-on:click="available = !available" v-bind:class="{available:available}"> |
1 | span{ |
1 | new Vue({ |
v-model
v-model은 2way binding에 적합한 어트리뷰트입니다.
예를 들어보겠습니다.
1 | <label for="">Name:</label> |
오늘은
- v-on
- keyboard event
- mouse event
- v-bind
- class binding
- toggle event
- v-model
에 대해 배웠습니다.
Vue 공부를 통해 지속적인 포스팅 하도록 하겠습니다. 감사합니다.