返回顶部
首页 > 资讯 > 前端开发 > html >Vue2.0之如何去掉组件click事件的native修饰
  • 294
分享到

Vue2.0之如何去掉组件click事件的native修饰

2024-04-02 19:04:59 294人浏览 安东尼
摘要

小编给大家分享一下Vue2.0之如何去掉组件click事件的native修饰,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这个是

小编给大家分享一下Vue2.0之如何去掉组件click事件的native修饰,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

这个是在组件开发中遇到的问题,当时我在编写button的组件,模板是这样的:

<template>
 <button class="disable-hover button ion-button"
     :class="[modeClass,typeClass,shapeClass,sizeClass,colorClass,roleClass,stronGClass]">
  <span class="button-inner">
   <slot></slot>
  </span>
  <div class="button-effect"></div>
 </button>
</template>

使用是这样子的:

<ion-button @click.native="primary()" color="primary">primary</ion-button>

根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上native修饰符,故写法就像上面这样。

好吧,处女座的毛病又来了。像button这样常用的组件如果加上native的话是感觉很突兀的。虽然组件设计有自身的考虑,因此我想将click的native去掉,思路如下:

  1. 子组件监听父组件给的click事件,

  2. 子组件内部处理click事件然后向外发送click事件:$emit("click".fn)

改造后的代码如下(亲测可用):

<template>
 <button class="disable-hover button ion-button" @click="_click"
     :class="[modeClass,typeClass,shapeClass,sizeClass,colorClass,roleClass,strongClass]">
  <span class="button-inner">
   <slot></slot>
  </span>
  <div class="button-effect"></div>
 </button>
</template>

<script type="text/babel">
export default{
  ....
  ....
  methods: {
   _click: function () {
    this.$emit('click', function () {
     alert('inner')
    })
   }
  }
}
</script>

父组件中这样使用:

<ion-button @click="primary()" color="primary">primary</ion-button>

也许读者能看出来,我正在参照IONIC2.X的组件api写Vue2.0的功能组件,目前只完成了:ActionSheet、Button、Icon、Alert、Toast这几个,一边看IONIC源码,一边将思路总结写成Vue代码,也就是花点时间。积累自己的组件库希望以后能开发快点。

现在项目地址在这里,前期以实现功能为主,不建议用在生产环境,读读代码实现思路就好,中文备注都做好了。

以上是“Vue2.0之如何去掉组件click事件的native修饰”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: Vue2.0之如何去掉组件click事件的native修饰

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

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

猜你喜欢
  • Vue2.0之如何去掉组件click事件的native修饰
    小编给大家分享一下Vue2.0之如何去掉组件click事件的native修饰,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这个是...
    99+
    2024-04-02
  • jquery如何去掉click事件
    这篇文章主要介绍jquery如何去掉click事件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jquery去掉click事件的方法:1、利用“$(指定元素)”语句获取已经绑定cli...
    99+
    2024-04-02
  • 如何理解Vue中的事件处理和事件修饰符
    这篇文章将为大家详细讲解有关如何理解Vue中的事件处理和事件修饰符,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 <div id="root"&...
    99+
    2023-06-25
  • vue中如何使用事件修饰符和按键修饰符
    今天就跟大家聊聊有关vue中如何使用事件修饰符和按键修饰符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在事件处理程序中调用 event.preve...
    99+
    2024-04-02
  • 如何在Vue中使用事件修饰符
    如何在Vue中使用事件修饰符?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序员常规操作:打开浏览器–百度/谷歌搜一搜,发现搜出来的东西不少,没一个是能解决我的...
    99+
    2023-06-15
  • 如何解决JS中touchstart事件与click事件冲突的问题
    这篇文章主要介绍了如何解决JS中touchstart事件与click事件冲突的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言移动互联...
    99+
    2024-04-02
  • Vue自定义组件使用事件修饰符的踩坑记录
    前言 今天在使用自写组件时,突然遇到久违的冒泡事件,就想着使用Vue自带的事件修饰符(.stop),本以为可以就此解决冒泡,却遇到这个问题。 脑中一片问号????这是什么鬼,我是...
    99+
    2024-04-02
  • React-Native如何实现ListView组件之上拉刷新功能
    这篇文章给大家分享的是有关React-Native如何实现ListView组件之上拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思路:1、常量定义:const ...
    99+
    2024-04-02
  • idea中如何去掉不想commit的文件
    目录idea去掉不想commit的文件此方法亲测最方便!!!idea撤回(已经commit未push的)操作总结idea去掉不想commit的文件 我们项目在每次commit代码时,...
    99+
    2023-02-15
    idea去掉commit文件 idea去掉commit idea commit的文件
  • 如何去掉服务器中的index.php文件?
    去掉服务器中的index.php文件在某些情况下是非常必要的,可能是为了安全性考虑或者是为了升级网站。下面我将介绍如何在不影响网站正常运行的情况下去掉index.php文件,并提供具体...
    99+
    2024-02-29
    重定向 服务器修改 数据丢失
  • ubuntu18.04中如何去掉文件夹右下角的锁
    这篇文章主要介绍了ubuntu18.04中如何去掉文件夹右下角的锁,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法如下在上锁的文件夹上右键--属性。选择窗口中的权限选项。把...
    99+
    2023-06-13
  • React-Native之TextInput组件的设置以及如何获取输入框的内容
    目录React-Native TextInput组件的设置以及获取输入框的内容React-Native自定义TextInput样式总结React-Native TextInput组件...
    99+
    2023-05-19
    React-Native TextInput TextInput组件的设置 TextInput组件获取输入框内容
  • 如何去掉IntelliJIDEA中mybatis对应的xml文件警告
    目录去掉IntelliJ IDEA中mybatis对应的xml文件警告去掉 No data sources configure 警告去掉 SQL dialect is not con...
    99+
    2023-05-18
    去掉IDEA mybatis xml警告 mybatis xml文件警告 mybatis的xml文件警告
  • 如何实现基于vue2.0+vuex的日期选择组件功能
    这篇文章主要为大家展示了“如何实现基于vue2.0+vuex的日期选择组件功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现基于vue2.0+vuex的...
    99+
    2024-04-02
  • 如何理解Vue中组件的自定义事件
    本篇文章为大家展示了如何理解Vue中组件的自定义事件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。<template>  <div > ...
    99+
    2023-06-25
  • 如何将图片和附件目录的PHP权限去掉
    小编给大家分享一下如何将图片和附件目录的PHP权限去掉,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  lo...
    99+
    2024-04-02
  • vue中如何实现父组件触发事件改变子组件的值
    小编给大家分享一下vue中如何实现父组件触发事件改变子组件的值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!父组件向子组件通信业...
    99+
    2024-04-02
  • php如何去除数组指定条件的值
    今天小编给大家分享一下php如何去除数组指定条件的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。去除步骤:1、利用fore...
    99+
    2023-07-02
  • vue如何给组件动态绑定不同的事件
    目录vue给组件动态绑定不同的事件场景vue组件绑定事件无效下面提供两者方法,可以任选其一vue给组件动态绑定不同的事件 场景 根据用户配置的事件动态绑定。也就是用户可以动态选择配置...
    99+
    2022-11-13
    vue组件 动态绑定事件 vue动态绑定
  • vue3.0子组件如何修改父组件传递过来的值
    目录子组件修改父组件传递过来的值使用toRefs进行解决子组件向父组件传值emit的使用注意事项子组件的写法父组件使用子组件修改父组件传递过来的值 vue 的子组件 不是 不能直接更...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作