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 相关文章推荐
Javascript 判断函数类型完美解决方案
Sep 02 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
Feb 01 Javascript
通过jquery 获取URL参数并进行转码
Aug 18 Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
浅析JavaScript中作用域和作用域链
Dec 06 Javascript
Angular.js中处理页面闪烁的方法详解
Mar 09 Javascript
React Native验证码倒计时工具类分享
Oct 24 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
微信小程序手动添加收货地址省市区联动
May 18 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
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php 归并排序 数组交集
2011/05/10 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
浅谈php自定义错误日志
2015/02/13 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python 项目目录结构设置
2020/02/14 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书