返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue@click与@click.native,及vue事件机制的使用分析
  • 955
分享到

vue@click与@click.native,及vue事件机制的使用分析

2024-04-02 19:04:59 955人浏览 独家记忆
摘要

目录@click与@click.native及Vue事件机制点击事件@click 失效@click与@click.native及vue事件机制 vue维护了自己的事件机制。 所以就有

@click与@click.native及vue事件机制

vue维护了自己的事件机制。

所以就有了原生DOM事件和自定义事件的区别,比如下面这段官网原话。

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

本文也将围绕这一句话展开。

想必大家都会在自定义组件中自定义事件。

<my-component v-on:my-event="doSomething"></my-component>

那么如何给自定义组价添加原生事件呢,其实想一想理论上是不可行的,因为自定义组件最终不会渲染到页面上,怎么加?

所以Vue给自定义组件绑定原生事件的做法是:把原生事件绑定到组件的根节点,根节点就只有一个嘛…

但是你要告诉vue,当前要给原生节点绑定DOM事件,而不是自定义事件。如下: 

<!-- 以下无论你怎么点击hello都不会触发父组件的事件的 -->
<!-- 除非加上@click="$emit('click')",也就是触发自定义事件 -->
<template>
  <div class="hello">
    hello
  </div>
</template>
<template>
  <div id="app">
    <HelloWorld msg="Welcome to Your vue.js App" @click="clickEvent"/>
  </div>
</template>
<script>
  methods: {
    clickEvent(){
      console.log('事件触发')
    }
  }
</script>

或者直接简单的使用.native。

<HelloWorld msg="Welcome to Your Vue.js App" @click.native="clickEvent"/>

好了,你已经了解了.native的用途。接下来,再说一说原生节点绑定自定义DOM事件。直接看代码如下:

<template>
  <div id="app" @customizedEvent="myEvent">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
  name: 'App',
  components: {
    HelloWorld
  },
  mounted() {
    const app = document.getElementById('app');
    const event = document.createEvent('htmlEvents');
    event.initEvent('customizedEvent', false, true);
    app.dispatchEvent(event);
  },
  methods: {
    myEvent() {
      console.log('customizedEvent')
    }
  }
}
</script>

我们通过原生的事件派发机制可以触发绑定到原生元素的事件。说明vue帮你做的事情其实是

app.addEventListener('customizedEvent', myEvent, false);

也就是说并非走的组件中的自定义事件,而是原生的DOM事件。 

点击事件@click 失效

问题:在标签上设置点击事件@click,发现无法触发事件发生

原因:发现这个标签上有个全局样式,对它造成了影响;

pointer-event: none

解决:将这个属性值改为auto即可

pointer-event: auto

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue@click与@click.native,及vue事件机制的使用分析

本文链接: https://lsjlt.com/news/146867.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue@click与@click.native,及vue事件机制的使用分析
    目录@click与@click.native及vue事件机制点击事件@click 失效@click与@click.native及vue事件机制 vue维护了自己的事件机制。 所以就有...
    99+
    2024-04-02
  • VUE中的click事件怎么解析
    今天就跟大家聊聊有关VUE中的click事件怎么解析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 概述老话说的好:努力帮别人解决难题,你的难题也就不难解决了。言归正传,今天我们...
    99+
    2023-06-26
  • vue中事件机制原理的示例分析
    这篇文章主要介绍了vue中事件机制原理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。常见的事件机制demo都会包含在这段代码中:&...
    99+
    2024-04-02
  • Vue中click事件防抖和节流处理的示例分析
    小编给大家分享一下Vue中click事件防抖和节流处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!函数防抖定义:多次...
    99+
    2024-04-02
  • Vue方法与事件的示例分析
    这篇文章主要介绍Vue方法与事件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一 vue方法实现<!DOCTYPE html> <html>...
    99+
    2024-04-02
  • vue的@click和@tap重叠事件区分方式是什么
    这篇“vue的@click和@tap重叠事件区分方式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue的@click...
    99+
    2023-06-29
  • VUE的数据代理与事件案例分析
    这篇文章主要讲解了“VUE的数据代理与事件案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE的数据代理与事件案例分析”吧!回顾Object.defineProperty方法<...
    99+
    2023-06-25
  • vue组件与复用的示例分析
    这篇文章给大家分享的是有关vue组件与复用的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是组件组件 (Component) 是 Vue.js 最强大的功能之一。...
    99+
    2024-04-02
  • vue中@click绑定事件点击不生效的原因及解决方案
    目录原因:解决方法:Vue中@click不生效的解决办法原因: 根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想...
    99+
    2022-12-08
    vue中@click绑定事件 vue @click不生效 vue @click @click用法
  • vue开发移动端使用better-scroll时click事件失效怎么办
    本篇内容介绍了“vue开发移动端使用better-scroll时click事件失效怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在引入...
    99+
    2023-07-04
  • vue-router安装及使用的示例分析
    小编给大家分享一下vue-router安装及使用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装在终端通过cd命令进...
    99+
    2024-04-02
  • vue axios数据请求及vue中使用axios的示例分析
    这篇文章将为大家详细讲解有关vue axios数据请求及vue中使用axios的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。axios 简介axios 是一个基...
    99+
    2024-04-02
  • Flex事件机制的示例分析
    这篇文章主要为大家展示了“Flex事件机制的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex事件机制的示例分析”这篇文章吧。什么是Flex事件机制Flex事件可以看作是一种触发机制...
    99+
    2023-06-17
  • vue开发移动端使用better-scroll时click事件失效的解决方案
    最近使用vue学习开发移动端的项目,使用了better-scroll插件做滚动。 在引入better-scroll的组件中使用@click事件的时候,点击事件失效,v-on:clic...
    99+
    2024-04-02
  • Vue组件中的自定义事件源码分析
    这篇文章主要介绍“Vue组件中的自定义事件源码分析”,在日常操作中,相信很多人在Vue组件中的自定义事件源码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue组件中的自定义事件源码分析”的疑惑有所帮助!...
    99+
    2023-06-29
  • Vue异步更新DOM及$nextTick执行机制源码分析
    本篇内容介绍了“Vue异步更新DOM及$nextTick执行机制源码分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue异步更新DOM策...
    99+
    2023-07-05
  • Spring的事件机制知识点详解及实例分析
    同步事件和异步事件 同步事件: 在一个线程里,按顺序执行业务,做完一件事再去做下一件事。 异步事件: 在一个线程里,做一个事的同事,可以另起一个新的线程...
    99+
    2024-04-02
  • 使用Vue的示例分析
    这篇文章将为大家详细讲解有关使用Vue的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Vue的优点Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优...
    99+
    2023-06-15
  • Vue中Vue.extend()的使用及解析
    目录Vue Vue.extend()的使用应用场景简单实用使用Vue.extend()编写vue插件Vue.extend()如何编程式使用组件呢具体使用Vue Vue.extend(...
    99+
    2022-11-13
    Vue Vue.extend Vue.extend的使用 Vue使用Vue.extend()
  • 分析IOS RunLoop的事件循环机制
    在RunLoop启动之后会发送一个通知,来告知观察者 将要处理Timer/Source0事件这样一个通知的发送 处理Source0事件 如果有Source1要处理,这时会通过一个go...
    99+
    2022-05-18
    IOS RunLoop
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作