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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 977 | CSS | 8년 전 | 1661 | ||
| 976 | CSS | 8년 전 | 2116 | ||
| 975 | CSS | 8년 전 | 1610 | ||
| 974 | CSS | 8년 전 | 5248 | ||
| 973 | CSS | 8년 전 | 3247 | ||
| 972 | CSS | 8년 전 | 3047 | ||
| 971 | CSS | 8년 전 | 2126 | ||
| 970 | HTML | 8년 전 | 3040 | ||
| 969 | HTML | 8년 전 | 3518 | ||
| 968 | CSS | 8년 전 | 2441 | ||
| 967 | CSS | 8년 전 | 1932 | ||
| 966 | CSS | 8년 전 | 1696 | ||
| 965 | CSS | 8년 전 | 2695 | ||
| 964 | CSS | 8년 전 | 2576 | ||
| 963 | CSS | 8년 전 | 3108 | ||
| 962 | CSS | 8년 전 | 1808 | ||
| 961 | CSS | 8년 전 | 1497 | ||
| 960 | CSS | 8년 전 | 2269 | ||
| 959 | CSS | 8년 전 | 1889 | ||
| 958 | CSS | 8년 전 | 2146 | ||
| 957 | CSS | 8년 전 | 2185 | ||
| 956 | CSS | 8년 전 | 2048 | ||
| 955 | CSS | 8년 전 | 2210 | ||
| 954 | CSS | 8년 전 | 2338 | ||
| 953 | CSS | 8년 전 | 2889 | ||
| 952 | CSS | 8년 전 | 2496 | ||
| 951 | CSS | 8년 전 | 2377 | ||
| 950 | CSS | 8년 전 | 1857 | ||
| 949 | CSS | 8년 전 | 1904 | ||
| 948 | CSS | 8년 전 | 2091 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기