Vue:入门7(事件处理 )

事件处理

监听事件

通过v-on进行绑定事件。下面的结果是点一按钮,数字显示+1,从0开始

<div id="id1">
   <button v-on:click="counter += 1">add 1</button>
   <p>times:{{counter}}</p>
</div>
<script>
   var vm = new Vue({
      el:'#id1',
      data:{
         counter:0
      }
   });
</script>

同时方法的方式实现事件

<div id="id2">
   <button v-on:click="click_fun">click</button>
</div>
<script>
   var vm = new Vue({
      el:'#id2',
      methods:{
         click_fun:function (event) {
            // 这里进行处理逻辑
            console.log(event);
         }
      }
   });
</script>

传参的方式,这里注意如果你想使用event,可以通过$event传入

<div id="id3">
   <button v-on:click="fun('params 1',$event)">button</button>
</div>
<script>
   var vm = new Vue({
      el:'#id3',
      methods:{
         fun:function (param1 , eve) {
            console.log(param1,eve);
         }
      }
   });
</script>

事件修饰符

修饰符以’.'开头: .stop .prevent .capture .self .once .passive

<div id="id4">
   <!-- 阻止单击事件继续传播 -->
   <a v-on:click.stop="dothis">dothis</a>

   <!-- 修饰符可以串联 -->
   <a v-on:click.stop.prevent="doThat"></a>
   <!-- 只有修饰符 -->
   <form v-on:submit.prevent></form>

   <!-- 点击事件将只会触发一次 -->
   <a v-on:click.once="doThis"></a>
</div>

按键修饰符

监听键盘事件

<div id="id5">
   <!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()`
.enter .tab .delete (捕获“删除”和“退格”键)
.esc .space .up
.down .left .right
下面这些是需要多个按钮一起用时才会触发.ctrl .alt .shift .meta
如果多个按钮同时:@keyup.shift.enter
-->
   <input v-on:keyup.shift.enter="alert_fun">
</div>
<script>
   var vm = new Vue({
      el:'#id5',
      methods:{
         alert_fun:function () {
            alert('enter');
         }
      }
   });
</script>

.exact 修饰符允许你控制由精确的系统修饰符组合触发的事件。

<div id="id6">
   <!-- 即使 Alt 或 Shift 被一同按下时也会触发 -->
   <button @click.ctrl="onClick">A</button>

   <!-- 有且只有 Ctrl 被按下的时候才触发 -->
   <button @click.ctrl.exact="onCtrlClick">A</button>

   <!-- 没有任何系统修饰符被按下的时候才触发 -->
   <button @click.exact="onClick">A</button>
</div>
<script>
   var vm = new Vue({
      el:'#id6',
      methods:{
         onClick:function () {
            alert('id6');
         }
      }
   });
</script>

鼠标按钮修饰符(2.2.0 新增)
.left
.right
.middle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值