Vue 事件的基本使用 && 事件修饰符
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>事件的基本使用</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 </head>
8 <body>
9 <!--
10 事件的基本使用:
11 1.使用v-on:xxx 或者简写 @xxx 绑定事件,其中xxx是事件名
12 2.事件的回调需要配置在methods对象中,最终会在vm上
13 3.methods中配置的函数,不要用箭头函数!否则this就不是vm了
14 4.methods中配置的函数,都是被Vue关联的函数,this的指向是vm 或 组件实例对象
15 5.@click="demo" 和 @click="demo($event)" 效果一样,但后者可以船参数
16 -->
17 <div id="root">
18 <h1>hello, {{name}}</h1>
19 <button v-on:click="showInfo1">点我提示信息(不传参)</button>
20 <button @click="showInfo2($event,66)">点我提示信息(传参)</button>
21 </div>
22 </body>
23
24 <script type="text/javascript" >
25 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
26
27 let vm = new Vue({
28 el: '#root',
29 data: {
30 name: 'Jack'
31 },
32 methods: {
33 showInfo1(event){
34 console.log(event.target.innerText);// target事件对象,发生事件的事件目标(元素)
35 console.log(this); // 这里的this就是vm(vue对象)
36 alert('showInfo1');
37 },
38 showInfo2: function (event, number) {
39 console.log(number);
40 alert('showInfo2');
41 }
42 }
43 })
44 vm.$mount('#root') // el的第二种写法
45 </script>
46 </html>
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>事件修饰符</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 <style>
8 *{
9 margin-top: 5px;
10 }
11 .demo2{
12 height: 50px;
13 background-color: skyblue;
14 }
15 .demo4{
16 padding: 5px;
17 background-color: skyblue;
18 }
19 .demo4_1{
20 padding: 5px;
21 background-color: orange;
22 }
23 .list{
24 width: 200px;
25 height: 200px;
26 background-color: peru;
27 overflow: auto;
28 }
29 li{
30 height: 100px;
31 }
32 </style>
33 </head>
34 <body>
35 <!--
36 Vue中的事件修饰符(事件修饰符可以连续使用,如:@click.prevent.stop,先阻止默认事件,再阻止冒泡事件,是有优先顺序的,谁在前谁优先):
37 1.prevent: 阻止默认事件(常用)
38 2.stop:阻止事件冒泡(常用)
39 3.once:事件只触发一次(常用)
40 4.capture:使用事件的捕获模式
41 5.self:只有event.target是当前操作的元素时才会触发事件
42 6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕
43 -->
44 <div id="root">
45 <h1>hello, {{name}}</h1>
46 <!-- 1.prevent: 阻止默认事件(常用) -->
47 <a href="http://baidu.com" @click.prevent="showInfo1">点我提示信息</a>
48 <!-- 2.stop:阻止事件冒泡(常用) -->
49 <div class="demo2" @click="showInfo2" >
50 <!-- 冒泡事件会先调用button的showInfo2事件,然后有执行div的showInfo2事件 -->
51 <button @click.stop="showInfo2">点我提示信息</button>
52 </div>
53 <!-- 3.once:事件只触发一次(常用) -->
54 <button @click.once="showInfo2">点我提示信息</button>
55 <!-- 4.capture:使用事件的捕获模式 -->
56 <div class="demo4" @click.capture="showInfo4(1)">
57 div1
58 <div class="demo4_1" @click="showInfo4(2)">
59 div2
60 </div>
61 </div>
62 <!-- 5.self:只有event.target是当前操作的元素时才会触发事件 -->
63 <!-- showInfo4(1) 冒泡事件的时候只有event.target是当前操作的元素时才会触发事件 -->
64 <div class="demo4" @click.self="showInfo4(1)">
65 div1
66 <div class="demo4_1" @click="showInfo4(2)">
67 div2
68 </div>
69 </div>
70 <!-- 6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕 -->
71 <!-- scroll:滚动条滚动的时候触发
72 wheel:鼠标滚轮滚动的时候触发
73 scroll与wheel区别:滚动条滚动到底部的时候因为不能继续往下滚动所以你再往下滚动的时候不会触发,但鼠标滚轮可以一直往下滚动不管滚动条是不是到底了,它会一直触发
74 -->
75 <ul @wheel.passive="demo6" class="list">
76 <li>1</li>
77 <li>2</li>
78 <li>3</li>
79 <li>4</li>
80 </ul>
81 </div>
82 </body>
83
84 <script type="text/javascript" >
85 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
86
87 let vm = new Vue({
88 el: '#root',
89 data: {
90 name: 'Jack'
91 },
92 methods: {
93 showInfo1(event){
94 // event.preventDefault(); // 阻止默认事件(当前a标签的href)的触发。Vue中使用prevent事件修饰符一样的效果
95 alert('showInfo1');
96 },
97 showInfo2(e) {
98 // e.stopPropagation(); // 这样就阻止了div的冒泡事件 Vue可以直接使用stop修饰符
99 alert('我是提示信息!');
100 },
101 showInfo4(number){
102 // 冒泡事件的调用流程:捕获事件,从父控件到子控件依次捕获,然后冒泡依次执行,所以依次是showInfo4(2)、showInfo4(1)
103 // 当设置事件修饰符capture时,事件在捕获的时候直接执行,依次是showInfo4(1)、showInfo4(2)
104 console.log(number);
105 },
106 demo6(e){
107 // 当你滚动鼠标滚轮的时候会立即执行该方法(demo6 我们定义的事件回调),
108 // 然后去滚动条会往上或者往下滚动(默认回调)
109 // 但当你使用passive 事件修饰符的时候,它的流程就变成立即执行默认回调,不再等待demo6执行完了再执行
110 for (let i = 0; i < 1000; i++){
111 console.log('@');
112 }
113 console.log('累坏了');
114 }
115 },
116
117 })
118 vm.$mount('#root') // el的第二种写法
119 </script>
120 </html>
Vue 事件的基本使用 && 事件修饰符的更多相关文章
- Vue学习笔记十一:按键修饰符和自定义指令(钩子函数)
目录 padStart:补位 按键修饰符 Vue提供的按键修饰符 自定义按键修饰符 自定义指令 自定义指令的使用 钩子函数 钩子函数参数 使用钩子函数的bingding参数 私有自定义指令 钩子函数的 ...
- vue.js(13)--按键修饰符
v-on监听事件时可添加按键修饰符 <!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` --> <input v-on:keyup.enter=&q ...
- 043——VUE中组件之使用.sync修饰符与computed计算属性实现购物车原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue中v-model解析、sync修饰符解析
上善若水,水善利萬物而不爭.——<道德經> 简介 在平时开发是经常用到一些父子组件通信,经常用到props.vuex等等,这里面记录另外的三种方式v-model.sync是怎么使用,再说是 ...
- 第二章 Vue快速入门-- 28 自定义按键修饰符
事件处理-按键修饰符 js 里面的键盘事件对应的键码 <!DOCTYPE html> <html lang="en"> <head> <m ...
- vue.js_03_vue.js的样式和修饰符
1.vue.js的样式 <body> <div id="app"> <h1 :style="styleObj1">这是一个h ...
- Vue中v-model指令的常用修饰符
v-model指令有三个可以选用的修饰符:.lazy..number以及.trim.vue官方对此的描述为: .number-输入字符串转为有效的数字 .lazy-取代input监听change事件 ...
- 第六十二篇:Vue的双向绑定与按键修饰符
好家伙,依旧是vue的基础 1.按键修饰符 假设我们在一个<input>框中输入了12345,我们希望按一下"Esc" 然后删除所有前面输入的内容,这时候,我们会用到按 ...
- VUE组件3 数据流和.sync修饰符
单向数据流:数据通过prop从父组件传递到子组件中,当父级组件中的数据更新时,传子组件也会更新,但不能在子组件中修改.防止子组件在无意中修改,改变父级组件状态 然而,双向数据绑定在某些情况下有用.如果 ...
- vue 表单基本 表单修饰符
表单的基础 利用v-model进行双向数据绑定: 1.在下拉列表中,将v-model写在select中 2.单选框和复选框需要每个按钮都需要写上v-model 3.v-model在输入框中获取得是输入 ...
随机推荐
- Spring Boot整合模板引擎freemarker
jsp本质是servlet,渲染都在服务器,freemarker模板引擎也是在服务器端渲染. 项目结构 引入依赖pom.xml <!-- 引入 freemarker 模板依赖 --> &l ...
- 「Java分享客栈」随时用随时翻:微服务链路追踪之zipkin搭建
前言 微服务治理方案中,链路追踪是必修课,SpringCloud的组件其实使用很简单,生产环境中真正令人头疼的往往是软件维护,接口在微服务间的调用究竟哪个环节出现了问题,哪个环节耗时较长,这都是项目上 ...
- Java基础(1)——ThreadLocal
1. Java基础(1)--ThreadLocal 1.1. ThreadLocal ThreadLocal是一个泛型类,当我们在一个类中声明一个字段:private ThreadLocal<F ...
- Seata源码分析——SessionManager
目录 事务管理器 SessionManager SessionLifecycleListener AbstractSessionManager 事务存储管理器 RedisTransactionStor ...
- React设置proxy后依旧报CROS错误
1.判断表单数据是否为后端接收的类型 POST GET2.axios自动转换问题 手动添加标头这份表单数据包括了files (二进制数据)而标头显示是JSON格式 不符 所以报CROS 更多文章请移步 ...
- FTPClient处理中文乱码问题,实测通过了
使用FTPClient 操作FTP时,遇到路径或文件名中文乱码问题: 其中的一种处理方式: 在new FTPClient()后,可以设置编码, ftpClient=new FTPClient( ...
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...
- unittest自动化测试框架核心要素以及应用
1. unittest核心要素 unittest介绍 测试框架,不仅仅用于单元测试 python自动的测试包 用法和django.test.TestCase类似 1.1.unitest介绍和核心要素 ...
- bare Git 仓库是什么?
背景 今天,坐我旁边的同事问我一些关于服务器上命令的问题.其中有一个用了特殊参数的 git init 的命令,我也不认识,遂去 Google... bare Git 仓库 定义 A bare Git ...
- BUUCTF-神秘龙卷风
神秘龙卷风 通过提示知道压缩包密码是四位纯数字,通过爆破得到 得到一串编码 看样子应该是brainfuck编码 flag{e4bbef8bdf9743f8bf5b727a9f6332a8}