단순 코드 기록/Vue

Vue_다이나믹 함수

일일일코_장민기 2024. 3. 8. 12:11
728x90

 

<template>
    <div>
      <h1>{{ mesg }}</h1>
      <!--
          v-on:click="처리함수"
          @click="처리함수">
      -->
      <button v-on:[aaa]="handleEvent">v-on:[aaa]</button><br>
      <button @[bbb]="handleEvent">@[bbb]</button><br>
 
      <!--
          v-on:mouseover="처리함수"
          @mouseover="처리함수">
      -->
      <button v-on:[ccc]="handleEvent">v-on:[ccc]</button><br>
      <button @[aaa]="handleEvent2" data-my="홍길동" data-my2='{"name": "이순신", "age": 20}'>@[aaa]="handleEvent2"</button><br>
 
  </div>
  </template>
 
  <script>
  export default {
      props:{
          mesg: String
      },
      data: function(){
          return{
              //data의 이름을 이벤트의 속성으로 지정하고 값을 이벤트 이름으로 사용
              aaa:"click",
              bbb:"mouseover",
              ccc:"mouseleave"
          }
      },
      // 이벤트 처리함수 등록
      methods:{
          handleEvent: function(data){
              console.log("handleEvent", data)
          },
          handleEvent2: function(data){
              let a = JSON.parse(data.target.dataset.my2)
              console.log("handleEvent2", data);
              console.log(data.target);
              console.log(data.target.dataset);
              console.log(data.target.dataset.my);
              console.log(data.target.dataset.my2);
              console.log(a);
              console.log(a.name);
              console.log(a.age);
          }
      }
  }
  </script>
 
  <style>
 
  </style>

 

 

 

 

 

'단순 코드 기록 > Vue' 카테고리의 다른 글

Vue_Select Option  (0) 2024.03.08
Vue_개별 삭제, 선택 삭제  (0) 2024.03.08
Vue_eventPreventDefault  (0) 2024.03.08
Vue_Event  (0) 2024.03.08
Vue_Calculator응용  (0) 2024.03.08