vue 组件 点击事件
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于vue 组件 点击事件内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在vue 组件 点击事件相关知识领域提供全面立体的资料补充。同时还包含 vagrant、val、validationgroup 的知识内容,欢迎查阅!
vue 组件 点击事件相关知识
-
Vue组件一-父组件传值给子组件Vue组件一-父组件传值给子组件开始Vue组件是学习Vue框架最比较难的部分,而这部分难点我认为可以分为三个部分学习,即组件的传值 - 父组件向子组件中传值事件回馈 - 子组件向父组件发送消息,父组件监听消息分发内容整个博客使用的源代码-请点击所以将用三篇博客分别进行介绍以上三种情况和使用Vue的设计者对组件的理解Vue的设计者,对组件和父组件之间的关系流上做了阐述,即单向数据流图:父组件向子组件传递数据,子组件回馈事件组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模板中使用了组件 B。它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件。然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的。这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性。在 Vue 中,父子组件的关系可以总结为 props down, events up。父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发
-
PDF.js 添加点击事件,添加鼠标滑动事件功能需求:点击PDF 预览界面,出现下来菜单,滚动鼠标预览PDF ,下拉菜单消失。1.在源码中添加点击事件大概在源码 viewer.js 2300行左右,有函数 webViewerClick ,可以直接在里面添加监听的点击事件var eventClick = document.createEvent('HTMLEvents'); eventClick.initEvent('pageClick',false,false);window.dispatchEvent(eventClick);调用事件方法(先说明是用 iframe 标签调用的 PDF 预览):iframe.addEventListener('pageClick'.function( this.showMenus = ture; //这个是自己在vue中定义的变量))2.在源码中添加滚动事件大约在
-
RecyclerView 的 Item 的单击事件RecyclerView 的每个Item的点击事件并没有像 ListView 一样封装在组件中,需要 Item 的单击事件时就需要自己去实现,在 Adapter 中为RecyclerView 添加单击事件参考如下: RecyclerView的使用方法请参考:RecyclerView的简单使用 第一步: 在 RecyclerView 的 Adapyer 中定义单击事件的回调接口: /** * 定义 RecyclerView 选项单击事件的回调接口 */ public interface OnItemClickListener{ //参数(父组件,当前单击的View,单击的View的位置,数据) void onItemCl
-
自定义组件添加原生事件在用 vue 做开发时,新手们肯定会遇到这种问题,直接使用 button 添加原生事件是没有问题的,但是使用自定义组件添加原生事件时,就会发现添加不上。比如我写了两个 button,一个点击让 div 变红,一个点击让 div 变蓝。App.vue文件<template> <div id="app"> <button @click="changeRed">变红</button> <!-- 使用 Btn 组件 并添加原生事件 --> <Btn @click="changeBlue"></Btn> &n
vue 组件 点击事件相关课程
vue 组件 点击事件相关教程
- 4.2 在子组件中通过 $emit 触发事件向父组件传值 编辑 components/login/login.vue 文件。4.2.1 给授权登录按钮添加一个点击事件<button @click="sendMsg">授权登录</button>4.2.2 创建点击事件,并向父组件传值当点击授权登录按钮后,触发 sendMsg() 事件,像父组件传递isShow对象,以及参数false。如果想要传递多个参数,后面跟一个数组就可以了。methods:{ sendMsg () { this.$emit('isShow',false) //传递多个参数 //this.$emit('isShow',[false,"你好"]) }}
- 5.2 通过使用一个空的 Vue 实例作为中央事件总线 在Vue中可以使用 EventBus 来作为沟通桥梁的概念,就像是所有组件共用相同的事件中心,可以向该中心注册发送事件或接收事件,所以组件都可以上下平行地通知其他组件。首先我们需要做的是创建事件总线,并将它挂载到Vue原型上,在实例中通过this.bus.$emit发送事件,通过this.bus.$on接收事件。// 定义事件总线let bus = new Vue()Vue.prototype.bus = bus// 定义发送事件this.bus.$emit('事件名称', data)// 定义接收事件 并在回调中接收参数this.bus.$on('事件名称', (data) => { })接下来我们看一段具体示例代码:607代码解释JS 代码第 3-4 行:通过 new Vue() 创建一个 vue 实例,并将它挂载在 Vue 的原型上。这样,在 vue 组件中可以通过 this.bus 访问到这个实例对象。JS 代码第 5-18 行:定义了组件 person,当点击修改按钮的时候通过 this.bus.$emit 发送一个名为 modify 的事件,并将组件内输入的 name 和 age 作为参数传递。JS 代码第 19-33 行:定义组件 detail,在组件内部通过 this.bus.$on 监听名为 modify 的事件,当事件触发时执行修改操作。
- 3.1 创建 .vue 文件 我们用 HBuilderX 这个官方工具来创建 .vue 文件,右键点击 pages 文件夹,点击新建页面,命名为 imoocPage。pages 文件夹下面就会创建一个 imoocPage 文件夹,下面包含了一个 .vue 文件。.vue 文件中会帮我们默认创建 <template>、<script> 和 <style>这三大顶级语言块。<template><view></view></template><script> export default { data() { return { } }, methods: { }}</script><style></style>
- 1. DOM 事件 DOM 事件被发送用于通知代码相关的事情已经发生了。每个事件都是继承自Event 类的对象,可以包括自定义的成员属性及函数用于获取事件发生时相关的更多信息。事件可以表示从基本用户交互到渲染模型中发生的事件的自动通知的所有内容。—— MDNDOM 事件是指给 DOM 节点在触发某个条件下要做的事情,如:当按钮被点击的时候改变背景色。348如上述例子中按钮的 onclick 属性,当他被赋值一个函数的时,这个函数就会在按钮被点击的时候触发。onclick 属性是一种事件处理器属性,表示单击或点击事件,当想指定按钮在被点击的时候要做的事情时,就可以给这个属性赋值。赋值的函数通常被称为事件处理器,即事件被触发时候时候执行的代码块,部分文献中会称为事件处理程序。通常给 DOM 节点设置事件的操作,会被称为绑定事件,上述例子就是给一个按钮绑定了点击事件。绝大部分事件处理器属性都是以 on 开头的。
- 2.3 事件参数 事件参数描述事件发生时的上下文信息,ECharts中不同事件的参数信息相差极大,甚至同种事件在不同组件触发时,回调参数也有差异。2.3.1 鼠标事件参数ECharts 鼠标事件,虽然名称上与 DOM Event 规范 一致,但回调中传递的参数比标准相差很大。以 click 为例,DOM 的 click 事件参数是一个 MouseEvent 对象,主要属性有:{ isTrusted: boolean, screenX: number, screenY: number, clientX: number, clientY: number, ctrlKey: boolean, shiftKey: boolean, altKey: boolean, metaKey: boolean, relatedTarget: object, pageX: number, pageY: number, x: number, y: number, offsetX: number, offsetY: number, ...}可以看出 DOM 的 click 事件参数详细描述了点击行为发生的位置、事件源的 dom、是否带有快捷键、捕获的阶段等。而 ECharts 在 series 上发生的 click 事件带有如下参数:{ // 当前点击的图形元素所属的组件名称, // 其值如 'series'、'markLine'、'markPoint'、'timeLine' 等。 componentType: string, // 图形元素所属二级组件类型 // 如 `bar`、`line`、`pie` 等 componentSubType: string, componentIndex: number, // 系列类型。值可能为:'line'、'bar'、'pie' 等 seriesType: string, // 系列在传入的 option.series 中的 index seriesIndex: number, // 系列ID seriesId: string, // 系列名称 seriesName: string, // 数据名,类目名 name: string, // 触发事件的数据在data数组中的index dataIndex: number, // 触发事件的数据所传入的原始data值 data: number, // sankey、graph 等图表同时含有 nodeData 和 edgeData 两种 data, // dataType 的值会是 'node' 或者 'edge',表示当前点击在 node 还是 edge 上。 // 其他大部分图表中只有一种 data,dataType 无意义。 dataType: string, // 传入的数据值 value: number | Array, // 数据图形的颜色 color: string, // 数据图形的边框色 borderColor: undefined, // 数据图形的维度信息 dimensionNames: object, encode: object, // 标记信息的html内容 marker: string, $vars: object, // 原始click事件参数 event: object, // 事件名称,本例中为 `click` type: string,}可以看出,ECharts 传递的 click 事件参数侧重于描述发生点击行为的图形所对应的组件信息、状态、配置,比如上例中的 componentType、componentSubType 指明单击的组件类别、子类别;seriesType、seriesIndex、data 等指明单击组件所对应的数据配置值;marker、encode 则指明单击发生时,组件内部状态信息。大多数情况下这些信息是足够使用的,必要时也可以通过 event 属性读取原始 dom 事件参数。需要注意的第二点是,即使是同种事件,不同组件所暴露的参数也是不一样的,以 click 为例,在 series.bar 上触发时有如下属性:componentType、componentSubType、componentIndex、seriesType、seriesIndex、seriesId、seriesName、name、dataIndex、data、dataType、value、color、borderColor、dimensionNames、encode、marker、$vars、event、type在 yAxis 则有:componentType、componentIndex、yAxisIndex、targetType、value、event、type在 title 上则是:componentType、componentIndex、event、typeTips:遗憾的是,官网并未就此给出详细、完整的列表,建议开发时通过 console.log、debugger 等手段获取各种组件所传递的事件参数。2.3.2 行为事件参数与鼠标事件参数一样,行为事件也没有提供一致的参数模型,不过官网提供了 明细说明,开发时建议前往查阅。
- 4. 事件修饰符 在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。实现方法就是在事件名称后面以后缀的形式添加指定的修饰符。知识扩展:event.preventDefault() 用来取消事件的默认动作。event.stopPropagation() 用来阻止事件冒泡到父元素,阻止任何父事件处理程序被执行。Vue 提供了以下事件修饰符:.stop: 阻止单击事件继续传播;.prevent: 只有修饰符,提交事件不再重载页面;.capture: 添加事件监听器时使用事件捕获模式,即元素自身触发的事件先在自身处理,然后交由内部元素进行处理;.self: 只有在event.target是当前元素自身时触发处理函数,即事件不是从内部元素触发的;.once: 点击事件将只触发一次;.passive: 滚动事件会立即触发,不会等待其他串联事件。即prevent会失效。<!-- 阻止单击事件继续传播 --><a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 --><form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 --><a v-on:click.stop.prevent="doThat"></a><!-- 添加事件监听器时使用事件捕获模式 --><!-- 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理 --><div v-on:click.capture="doThis">...</div><!-- 只当在 event.target 是当前元素自身时触发处理函数 --><!-- 即事件不是从内部元素触发的 --><div v-on:click.self="doThat">...</div><!-- 点击事件将只会触发一次 --><a v-on:click.once="doThis"></a>接下来,我们用一个完整的示例来看下这些修饰符的使用方法。586代码解释:代码第 4-7 行,stop 案例中,当我们给按钮 click 事件添加 .stop 修饰符之后,点击按钮,事件不会向上传递。代码第 10-16 行,submit.prevent 案例中,当给 submit 事件添加 .prevent 修饰符之后,提交事件不再重载页面。代码第 19-21 行,capture 案例中,我们给父容器添加了 capture 事件,当点击按钮的时候,会先触发 capture 中的事件函数,然后再触发按钮绑定的点击事件。代码第 24-26 行,self 案例中,我们给父容器的点击事件添加了 .self 的修饰符,所以只有点击父容器的时候才会触发该方法,当点击按钮的时候并不会触发父容器绑定的事件。代码第 29-31 行,once 案例中,我们给按钮的点击事件添加了 .once 的修饰符,所以只有首次点击按钮的时候会触发事件函数,再次点击之后将不会触发事件函数。
vue 组件 点击事件相关搜索
-
vacuum
vagrant
val
validationgroup
validationsummary
vals
valueof
values
vant
variables
vb
vb if else
vb if语句
vb net
vb net 教程
vb net 数据库
vb net教程
vb net下载
vb 教程
vb 数组