vue-6-事件处理

<div id="example-2">
  <button v-on:click="greet">Greet</button>
</div>

var example2 = new Vue({
  el: ‘#example-2‘,
  data: {
    name: ‘Vue.js‘
  },
  methods: {
    greet: function (event) {
      alert(‘Hello ‘ + this.name + ‘!‘)
      if (event) {
        alert(event.target.tagName)
      }
    }
  }
})

在内联语句处理器中访问原生 DOM 事件

<button v-on:click="warn(‘Form cannot be submitted yet.‘, $event)">
  Submit
</button>

methods: {
  warn: function (message, event) {
    if (event) event.preventDefault()
    alert(message)
  }
}

事件修饰符

<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>

<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>

<!-- 添加事件侦听器时使用事件捕获模式 -->
<div v-on:click.capture="doThis">...</div>

<!-- 只当事件在该元素本身 (比如不是子元素) 触发时触发回调 -->
<div v-on:click.self="doThat">...</div>

<!-- 只调用一次,.once 修饰符还能被用到自定义的组件事件上 -->
<div v-on:click.once="doThat">...</div>

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

<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>

键值修饰符

<!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
<input v-on:keyup.13="submit">

按键别名:
<!-- 同上 -->
<input v-on:keyup.enter="submit">
<!-- 缩写语法 -->
<input @keyup.enter="submit">

常用按键别名:
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right

可以通过全局 config.keyCodes 对象自定义键值修饰符别名:
Vue.config.keyCodes.f1 = 112

修饰键

附加按键:
.ctrl
.alt
.shift
.meta

<!-- Alt + C -->
<input @keyup.alt.67="clear">
<!-- Ctrl + Click -->
<div @click.ctrl="doSomething">Do something</div>

鼠标按钮修饰键:

.left
.right
.middle

在html中监听事件优点:解耦,无须清理

时间: 2024-10-19 06:54:58

vue-6-事件处理的相关文章

一起学Vue之事件处理

在Vue进行前端开发中,事件监听是必不可少的功能,本文通过简单的小例子,简述v-on的简单用法,仅供学习分享使用,如有不足之处,还请指正. 监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码.如下所示: 1 <button v-on:click="counter += 1">Add 1</button> 2 <p>按钮被点击了 {{ counter }} 次.</p> 其中counter为V

【04】Vue 之 事件处理

4.1. 监听事件的Vue处理 Vue提供了协助我们为标签绑定时间的方法,当然我们可以直接用dom原生的方式去绑定事件.Vue提供的指令进行绑定也是非常方便,而且能让ViewModel更简洁,逻辑更彻底.所以还是推荐大家使用的. Vue提供了v-on指令帮助我们进行事件的绑定. 基本的内联事件处理方法[官方demo]: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF

VUE:事件处理和表单输入绑定

事件处理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>07_事件处理</title> </head> <body> <!-- 1.绑定监听: v-on:xxx="fun" @xxx="fun" @xxx="fun(参数)" 默认事件形参:event 隐

vue之事件处理

一.事件处理方法 1.格式 完整格式:v-on:事件名="函数名" 或 v-on:事件名="函数名(参数……)"  缩写格式:@事件名="函数名" 或 @事件名="函数名(参数……)"  注意:@后面没有冒号 event :函数中的默认形参,代表原生 DOM 事件  当调用的函数,有多个参数传入时,需要使用原生DOM事件,则通过 $event 作为实参传入作用:用于监听 DOM 事件 2.实例 <div id="

Vue事件处理

前面的话 Vue事件监听的方式貌似违背了关注点分离(separation of concern)的传统理念.实际上,所有的Vue.js事件处理方法和表达式都严格绑定在当前视图的ViewModel上,它不会导致维护上的困难.使用v-on有以下好处: 1.扫一眼HTML模板便能轻松定位在JS代码里对应的方法 2.无须在JS里手动绑定事件,ViewModel代码可以是非常纯粹的逻辑,和DOM完全解耦,更易于测试 3.当一个ViewModel被销毁时,所有的事件处理器都会自动被删除.无须担心如何自己清理

Vue基础篇--6事件处理

Vue基础篇--6事件处理 1.监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 示例 <div id="exp"> <button v-on:click="count +=1">add 1</button> <p>The button above has been clicked {{count}} times.</p> </div> new

Vue.js Method

Method Vue.js 的事件监听一般都通过 v-on 指令配置在HTML中,虽然也可以在Javascript 代码中使用原生 addEventListener 方法添加事件监听,但Vue.js 本身并不提倡如此. 看上去这种方式不符合传统的"关注点分离"的理念,但其实所有的Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上.实际上,采用它提供的 v-on 指令有以下几点好处: (1).通过查看HTML 模板便能轻松定位 Javascript 代码中对

vue事件处理器

1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. 示例: <div id="example-1"> <button v-on:click="counter += 1">增加 1</button> <p>这个按钮被点击了 {{ counter }} 次.</p> </div> var example1 = new Vue({ el: '#example

Vue.2.0.5-事件处理器

监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. 示例: <div id="example-1"> <button v-on:click="counter += 1">增加 1</button> <p>这个按钮被点击了 {{ counter }} 次.</p> </div> var example1 = new Vue({ el: '#example-1

vue组件的那些事($children,$refs,$parent)的使用

如果项目很大,组件很多,怎么样才能准确的.快速的寻找到我们想要的组件了?? 1)$refs 首先你的给子组件做标记.demo :<firstchild ref="one"></firstchild> 然后在父组件中,通过this.$refs.one就可以访问了这个自组件了,包括访问自组件的data里面的数据,调用它的函数 2)$children 他返回的是一个组件集合,如果你能清楚的知道子组件的顺序,你也可以使用下标来操作: for(let i=0;i<t