수

vue.js 이벤트 핸들링

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

이벤트 핸들링

 

이벤트 청취

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

+
분류 제목 글쓴이 날짜 조회
기타 19-02-04 조회 4,433
기타 19-02-04 조회 6,751
기타 19-01-31 조회 3,012
기타 19-01-31 조회 2,895
기타 19-01-31 조회 2,394
기타 19-01-28 조회 2,827
기타 19-01-28 조회 2,638
기타 19-01-28 조회 2,670
기타 19-01-24 조회 2,651
기타 19-01-24 조회 2,401
기타 19-01-24 조회 2,739
기타 19-01-23 조회 2,290
기타 19-01-23 조회 2,469
기타 19-01-23 조회 2,642
기타 19-01-22 조회 2,737
기타 19-01-22 조회 2,224
기타 19-01-22 조회 2,106
기타 19-01-21 조회 2,584
기타 19-01-16 조회 2,210
기타 19-01-16 조회 1,930
기타 19-01-16 조회 2,134
기타 19-01-12 조회 1,829
기타 19-01-12 조회 2,033
기타 19-01-12 조회 1,754
기타 19-01-11 조회 1,878
기타 19-01-11 조회 1,796
기타 19-01-11 조회 2,087
기타 19-01-10 조회 1,821
기타 19-01-10 조회 2,150
기타 19-01-10 조회 2,149