vue.js 이벤트 핸들링

· 2019-02-07 (목) 19:10:17 · 2994

이벤트 핸들링

 

이벤트 청취

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
})

|
댓글을 작성하시려면 로그인이 필요합니다.

퍼블리셔팁

1,282건

퍼블리싱과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
CSS 22-05-09 조회 1,837
CSS 22-04-29 조회 2,170
CSS 22-04-28 조회 2,546
CSS 22-03-14 조회 2,070
기타 21-12-23 조회 3,041
반응형 21-12-06 조회 3,612
웹접근성 21-12-06 조회 3,066
CSS 21-08-10 조회 5,528
기타 21-06-24 조회 9,361
CSS 21-06-16 조회 3,729
웹접근성 20-12-08 조회 4,197
CSS 20-09-16 조회 4,696
기타 20-09-10 조회 3,873
CSS 20-08-04 조회 4,109
기타 20-08-03 조회 3,626
기타 20-03-23 조회 3,379
CSS 20-01-14 조회 4,247
HTML 20-01-14 조회 4,875
기타 19-09-26 조회 8,439
웹접근성 19-05-25 조회 3,569
기타 19-03-26 조회 3,472
기타 19-03-17 조회 4,830
기타 19-02-20 조회 4,683
기타 19-02-12 조회 4,633
기타 19-02-12 조회 3,131
기타 19-02-12 조회 3,172
기타 19-02-07 조회 3,022
기타 19-02-07 조회 2,995
기타 19-02-07 조회 3,635
기타 19-02-04 조회 9,887