반응형

vue에서 v-on핸들링은 javascript에서 onclick과 동일한 기능할 합니다.

html에서 javascript onclick기능을 구현해보면 아래와 같습니다.

<--! html의 기본 템플릿은 생략하고 body의 내용만을 나타냅니다.-->

<div id="app">
  <input type="button" value="버튼을 누르면 알람 메세지가 나타납니다." 
  onclick="alert('알람메세지입니다.')">
</div>

web화면 결과


위의 javascript를 Vue로 바꾸면 다음과 같습니다.이해를 돕기위하여 html부분과 script부분을 분리하여 나타내겠습니다.

##index.html 부분

<div id="app">
  <input type="button" value="버튼을 누르면 알람 메세지가 나타납니다." v-on:click="alert">
</div>

##javascript 부분

new Vue({
	el:'#app',
    methods:{
    	alert(){
            return alert('알람메세지입니다');
               }
            }
})

결과는 아래와 같이 동일하게 나타납니다.


위 의 사항을 Vue의 index.html하나의 페이지로 나타내면 다음과 같습니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <title>Document</title>
</head>
<body>
    
    <div id="app">
      <input type="button" value="버튼을 누르면 알람 메세지가 나타납니다." v-on:click="alert">
    </div>

    <script>
        new Vue({
            el:'#app',
            methods:{
                alert(){
                    return alert('알람메세지입니다');
                }
            }
        })
    </script>
</body>
</html>

vue에서는 v-on:click이벤트를 발생시키기 위하여 methods 즉 함수(function)을 호출하여 사용합니다.

즉 Vue의 methods는 javascript의 function과 동일한 기능을 한다고 생각을 하면 됩니다.

반응형

'Vue 2.x version > V-on 과 V-model' 카테고리의 다른 글

v-model(양방향데이터 바인딩)  (0) 2021.12.23

+ Recent posts