vue学习笔记之给组件绑定原生事件操作示例


Posted in Javascript onFebruary 27, 2020

本文实例讲述了vue学习笔记之给组件绑定原生事件操作。分享给大家供大家参考,具体如下:

当在父组件中定义一个点击事件,并且在父组件的methods中定义了这个点击事件时,在页面上点击并不会有什么反应。那么该怎么办呢?

我们可以在子组件的template中的dom上定义一个点击事件(原生事件),并且在子组件的methods中定义该点击事件,然而点击页面时也只会alert(child click )

这是为什么呢?父组件的点击事件被vue当成自定义事件,点击后没有检测到,这时需要子组件向父组件触发点击'自定义'事件,即 this.$emit('change') 。then,完成。先响应了child click,然后响应了click。

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8">
  <title>组件参数的校验</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <child @change="handleClick"></child>  <!--此处父组件,相当于自定义事件-->
</div>
</body>
</html>
<script>
  Vue.component('Child', {
    template: '<div @click="handleChildClick">child</div>',   /* 原生事件 */
    methods:{
      handleChildClick:function () {
        alert("child click")
        this.$emit('change') // 向父组件传递自定义事件
      }
    }
  })
  var vm = new Vue({
    el: '#app',
    methods:{
      handleClick:function () {
        alert("click");
      }
    }
  })
</script>

但是这样好麻烦哦!!怎么办呢?

我们可以直接在父组件定义的@click后面加上native,告诉vue我定义的事件就是原生事件!!就一切?了

like this:

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="UTF-8">
  <title>组件参数的校验</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <child @click.native="handleClick"></child>  <!--此处声明,原生事件-->
</div>
</body>
</html>
<script>
  Vue.component('Child', {
    template: '<div>child</div>'
  })
  var vm = new Vue({
    el: '#app',
    methods:{
      handleClick:function () {
        alert("click");
      }
    }
  })
</script>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
超简单的jquery的AJAX用法
May 10 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
Node.js与PHP、Python的字符处理性能对比
Jul 06 Javascript
Sublime Text 3常用插件及安装方法
Dec 16 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 Javascript
js删除数组元素、清空数组的简单方法(必看)
Jul 27 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
Node.js中流(stream)的使用方法示例
Jul 16 Javascript
详解Vue3 Composition API中的提取和重用逻辑
Apr 29 Javascript
基于vue实现简易打地鼠游戏
Aug 21 Javascript
OpenLayers3实现测量功能
Sep 25 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
Feb 27 #Javascript
ElementUI中el-tree节点的操作的实现
Feb 27 #Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 #Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 #Javascript
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 #Javascript
BootStrap前端框架使用方法详解
Feb 26 #Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 #Javascript
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
图书室管理制度
2014/01/19 职场文书
受伤赔偿协议书
2014/09/24 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript