vue基础之v-on修饰符

v-on修饰符。

用在普通元素上时,只能监听原生 DOM 事件。用在自定义元素组件上时,也可以监听子组件触发的自定义事件。

示例:
1.stop 调用event.stopPropagation阻止冒泡

<div id="app">
    <div @click="parentClick">
      aaaa
      <button @click.stop="childClick">点击我</button>
    </div>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        msg: '欢迎使用Vue.js'
      },
      methods: {
	      parentClick() {
          	console.log('我是父级div点击事件');
       	 }
      }
    })
  </script>

2.prevent 调用event.preventDefault阻止默认行为

<div id="app">
    <form action="baidu">
      <input type="submit" @click.prevent="submit" value="提交">
    </form>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        msg: '欢迎使用Vue.js'
      },
      methods: {
	      submit() {
	        console.log('表单提交事件');
        },
      }
    })
  </script>

3.监听输入框的键帽

<div id="app">
    <form action="">
    	//监听键盘抬起的事件
      <input type="text" @keyup="keyUp">
		
		//监听键盘按下的事件
      <input type="text" @keydown="keyDown">
      
		//监听键盘回车
      <input type="text" @keyup.enter="enter">
      <input type="text" @keyup.13="enterThirteen">
    </form>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        msg: '欢迎使用Vue.js'
      },
      methods: {
		     keyUp() {
			      console.log('keyup');
	        },
	        keyDown() {
		      console.log('keydown');
	        },
	        enter() {
		      console.log('监听回车键');
	        },
	        enterThirteen() {
		      console.log('监听13回车键');
          },
      }
    })
  </script>

4.once,让事件只触发一次

<div id="app">
    <button @click.once="onceClick">点击只触发一次</button>
  </div>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        msg: '欢迎使用Vue.js'
      },
      methods: {
	      onceClick() {
		    console.log('只触发一次回调');
       	 }
      }
    })
  </script>

5.-{keyCode | keyAlias} - 只当事件是从特定键触发时才触发回调。

<!-- 对象语法 (2.4.0+) -->
<button v-on="{ mousedown: doThis, mouseup: doThat }"></button>

6。其他的还有:

.native - 监听组件根元素的原生事件。
.left - (2.2.0) 只当点击鼠标左键时触发。
.right - (2.2.0) 只当点击鼠标右键时触发。
.middle - (2.2.0) 只当点击鼠标中键时触发。
.passive - (2.3.0) 以 { passive: true } 模式添加侦听器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值