vue.js 이벤트 핸들링

· 7년 전 · 2712

이벤트 핸들링

 

이벤트 청취

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에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
CSS 5년 전 조회 3,847
기타 5년 전 조회 3,377
기타 5년 전 조회 3,128
CSS 6년 전 조회 3,987
HTML 6년 전 조회 4,629
기타 6년 전 조회 8,155
웹접근성 6년 전 조회 3,298
기타 6년 전 조회 3,240
기타 6년 전 조회 4,570
기타 7년 전 조회 4,410
기타 7년 전 조회 4,395
기타 7년 전 조회 2,881
기타 7년 전 조회 2,931
기타 7년 전 조회 2,736
기타 7년 전 조회 2,713
기타 7년 전 조회 3,312
기타 7년 전 조회 9,598
기타 7년 전 조회 4,147
기타 7년 전 조회 6,484
기타 7년 전 조회 2,690
기타 7년 전 조회 2,637
기타 7년 전 조회 2,116
기타 7년 전 조회 2,556
기타 7년 전 조회 2,384
기타 7년 전 조회 2,394
기타 7년 전 조회 2,367
기타 7년 전 조회 2,137
기타 7년 전 조회 2,445
기타 7년 전 조회 1,991
기타 7년 전 조회 2,191