• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 详解Vue2.0之去掉组件click事件的native修饰

详解Vue2.0之去掉组件click事件的native修饰

作者:烈风裘 字体:[增加 减小] 来源:互联网 时间:2017-05-11

烈风裘通过本文主要向大家介绍了vue2.0 click,vue2.0,vue2.0中文文档,vue2.0教程,vue2.0官网等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这个是在组件开发中遇到的问题,当时我在编写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>
</div>

使用是这样子的:

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

根据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>
</div>

父组件中这样使用:

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

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

现在项目地址在这里,前期以实现功能为主,不建议用在生产环境,读读代码实现思路就好,中文备注都做好了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解Vue2.0之去掉组件click事件的native修饰

相关文章

  • 2017-05-11Angular实现购物车计算示例代码
  • 2017-05-11js从输入框读取内容,比较两个数字的大小方法
  • 2017-05-11json的结构与遍历方法实例分析
  • 2017-05-11vue.js+Element实现表格里的增删改查
  • 2017-05-11BootStrap3中模态对话框的使用
  • 2017-05-11100行代码理解和分析vue2.0响应式架构
  • 2017-05-11Zepto实现密码的隐藏/显示
  • 2017-05-11js控制按钮,防止频繁点击响应的实例
  • 2017-05-11jquery广告无缝轮播实例
  • 2017-05-11canvas绘制的直线动画

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • SVG描边动画
    • vue省市区三联动下拉选择组件的实现
    • Angular 4.x 路由快速入门学习
    • ng-options和ng-checked在表单中的高级运用(推荐)
    • JavaScript中数组的各种操作的总结(必看篇)
    • JS 插件dropload下拉刷新、上拉加载使用小结
    • Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
    • js实现适配不同的屏幕大小
    • jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
    • jquery仿ps颜色拾取功能

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有