vue.js 이벤트 핸들링
이벤트 핸들링
이벤트 청취
v-on 디렉티브를 사용하여 DOM이벤트를 듣고 트리거 될 때 Javascript를 실행할 수 있습니다.
HTML 부분
<div id="example-1">
<button v-on:click="counter+=1">Add 1</button>
<p>위 버튼을 클릭한 횟수는 {{counter}}번 입니다.</p>
</div>
JS부분
var vm = new Vue({
el: 'example-1',
data:{
counter: 0
}
})
메소드 이벤트 핸들러
많은 이벤트 핸들러의 로직은 더 복잡할 것이므로, javascript를 v-on 속성 값으로 보관하는 것은
간단하지 않습니다.
이 때문에 v-on이 호출하고자 하는 메소드의 이름을 받는 이유입니다.
HTML 부분
<div id="example-2">
<!-- greet는 메소드 이름으로 아래에 정의되어 있습니다. -->
<button v-on:click="greet">Greet</button>
</div>
JS부분
var example2 = new Vue({
el: '#example',
data :{
name: 'Vue.js'
},
//메소드는 methods객체 안에 정의합니다.
methods:{
greet: function(event){
//메소드 안에서 사용하는 this는 Vue인스턴스를 가르킵니다.
alert('Hello ' + this.name + '!')
//event는 네이티브 DOM이벤트입니다.
if( event ){
alert(event.target.tagName )
}
}
}
//또한 Javascript를 이용해서 메소드를 호출할 수 있습니다.
example2.greet() // => Hello Vue.js
})
게시판 목록
퍼블리셔팁
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 917 | CSS | 8년 전 | 1905 | ||
| 916 | CSS | 8년 전 | 1997 | ||
| 915 | CSS | 8년 전 | 2014 | ||
| 914 | CSS | 8년 전 | 2934 | ||
| 913 | CSS | 8년 전 | 1960 | ||
| 912 | CSS | 8년 전 | 2025 | ||
| 911 | CSS | 8년 전 | 1996 | ||
| 910 | CSS | 8년 전 | 1866 | ||
| 909 | HTML | 8년 전 | 2297 | ||
| 908 | CSS | 8년 전 | 2230 | ||
| 907 | CSS | 8년 전 | 2060 | ||
| 906 | CSS | 8년 전 | 2312 | ||
| 905 | CSS | 8년 전 | 2050 | ||
| 904 | CSS | 8년 전 | 1842 | ||
| 903 | CSS | 8년 전 | 1971 | ||
| 902 | CSS | 8년 전 | 2190 | ||
| 901 | CSS | 8년 전 | 2069 | ||
| 900 | CSS | 8년 전 | 2499 | ||
| 899 | CSS | 8년 전 | 2482 | ||
| 898 | CSS | 8년 전 | 2055 | ||
| 897 | CSS | 8년 전 | 1679 | ||
| 896 | CSS | 8년 전 | 2329 | ||
| 895 | CSS | 8년 전 | 2005 | ||
| 894 | CSS | 8년 전 | 2621 | ||
| 893 | CSS | 8년 전 | 1982 | ||
| 892 | HTML | 8년 전 | 2071 | ||
| 891 | HTML | 8년 전 | 2540 | ||
| 890 | HTML | 8년 전 | 2624 | ||
| 889 | HTML | 8년 전 | 3727 | ||
| 888 | HTML | 8년 전 | 2167 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기