Vue事件

<!doctype html>
<html lang="gbk">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>VUE 练习</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    
</head>
<body>
   <div id="app">
    <button v-on:click="num+=1">点我加1</button>
    <p>{{num}}</p>
   </div>
<script>
     new Vue({
        el:'#app',
        data:{
           num:0
        }
    });
</script>

</body>
</html>

vue里的学习,个人感觉,需要熟悉那一套语法,本次学习了v-on:click的用法。
如上点击只是让num自增,如果有比较复杂的逻辑,把js代码写到v-on指令是不可行的,我们可以使用@click指定方法名。

<body>
   <div id="app">
    <button @click="hbk">点我,运行复杂逻辑</button>
    <!--也可以使用 <button v-on:click="hbk">点我,运行复杂逻辑</button>   -->
   </div>
<script>
     new Vue({
        el:'#app',
        data:{
           
        },
        methods:{
          hbk(){
            alert("hello huangbaokang");
            console.log("do something else...");
          }
        }
    });
</script>

</body>

参数传递,直接在方法上增加参数即可。

<body>
   <div id="app">
    <button v-on:click="say('hello world')">点我</button>
   </div>
<script>
     new Vue({
        el:'#app',
        data:{
           
        },
        methods:{
         say:function(msg){
          alert(msg);
         }
        }
    });
</script>

</body>

有时需要访问原始的DOM事件,可以传递$event特殊变量。

<div id="app">
 <button v-on:click="say('hello world',$event)">传递特殊变量</button>
</div>

methods:{
 say:function(msg,event){
    if(event) {
      event.preventDefault();
    }
    alert(msg);
   }
  }

事件修饰符

.stop
.prevent
.capture
.self
.once
.passive

写法(使用后缀):<a v-on:click.stop="doSomething"></a>
支持串联:<a v-on:click.stop.prevent="doThat"></a>

监听按键事件

.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right

举例:绑定按键esc键

<body>
   <div id="app">
      <input type="text" @keyup.esc="say" v-model="keywords"/>
   </div>
<script>
     new Vue({
        el:'#app',
        data:{
           keywords:"huangbaokang"
        },
        methods:{
            say:function(){
                alert("hello"+this.keywords);
            }
        }
    });
</script>

</body>

运行如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值