VUE的事件使用和处理

在VUE里面,事件处理,直接把 JavaScript 代码写在 v-on 指令中是不可行的。因此 v-on 还可以接收一个需要调用的方法名称。我们需要注意一下:@click和v-on:click是一样,只不过形式不一样,本质是一样的,前者是后者的简写形式。现在我们看下具体代码:

<!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">
                  <title>事件处理</title>
                  <script type="text/javascript" src="../vue_js/vue.js"></script>
</head>
<body>
        <div id="d">
                  <h1>欢迎来到{{provinceCity}}</h1>
                  <button v-on:click = "btnGet">请点击按钮将会弹出惊喜!</button> 
                  <button @click = "btnGet1(1,3,4)">请点击按钮将会弹出惊喜!</button> 
                  <button @click = "btnGet2">请点击按钮将会弹出惊喜242433</button> 
                  <button @click = "btnGet3($event,26)">点击方法3</button>
                  <button @click = "btnGet4">点击方法4</button>
        </div>
        <script>
                  Vue.config.productionTip = false;
                  let str = "湖北省武汉市";
                  /*
                     这里注意下,@click和v-on:click是一样,
                     其中前者是后者的简单形式
                  */
                  const vm = new Vue({
                                    el:'#d',
                                    data:{
                                                      provinceCity:str
                                    },
                                    methods:{
                                                      btnGet(){
                                                                        alert("欢迎来到这里,这里将会有惊喜"+str);
                                                      },
                                                      btnGet1(a,b,c){
                                                                        console.log(a+","+b+","+c);
                                                      },
                                                      btnGet2(x,y,z){
                                                                        //console.log("这是方法2");
                                                                        /*
                                                                           这里可以得出一个结论,那就是点击事件的方法没有传入实参,
                                                                           第一个参数一般默认event,也就是说方法里面默认有一个event,
                                                                        */
                                                                        console.log(x+","+y+","+z);//[object MouseEvent],undefined,undefined
                                                                        
                                                      },
                                                      btnGet3(event,num){
                                                                        /*
                                                                           这里注意下.事件的回调需要配置在methods对象中,最终会在vm上
                                                                           其中中配置的函数,不要用箭头函数!否则this就不是vm了,
                                                                           methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象
                                                                        */
                                                                        console.log(event+"---"+num);//[object MouseEvent]---26
                                                                        console.log(this);//这里,this指的是vm
                                                      },
                                                      btnGet4(){
                                                                        /*
                                                                           这里通过event调用target来获取button的文本内容,
                                                                           这里的target指的是button
                                                                        */
                                                                        console.log(event.target.innerText);//点击方法4
                                                      }
                                    }
                  });
                  console.log(vm);
        </script>         
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值