vue 自定义的组件绑定点击事件


Posted in Vue.js onApril 21, 2022

给自定义的组件绑定点击事件

在做项目中我们往往会封装许多的组件,来减少代码的重复性,提高代码的可利用性,有时候也会给组件绑定事件,但是经常会失效。

先给cardinfo这个组件绑定一个点击事件

     <cardinfo
        :content="content"
        :from="from"
        :ProPortrait="ProPortrait"
      />

一般都是这样给点击事件,可是有时候这个事件是没用的,因为这个事件是引用组件页面的事件,而不是组件本身的事件,所以组件内不能识别这个事件的来源。

     <cardinfo
       @click="goodclick"
        :content="content"
        :from="from"
        :ProPortrait="ProPortrait"
      />

在@click后面加native表示的是当前页面的事件

  <cardinfo
        @click.native="goodclick"
        :content="content"
        :from="from"
        :ProPortrait="ProPortrait"
      />

给自定义组件添加单击事件

自己定义了一个按钮按组件

<template>
  <div>
     <div class="endBtn">
       <van-button type="danger" block color="linear-gradient( to left ,#F24B0B, #FF4A44 )">{{btnMsg}}</van-button>
    </div>
  </div>
</template>
<script>
export default {
  name: 'UiEndbutton',
  props:["btnMsg"],
  data() {
    return {
      
    };
  },
  mounted() {
    
  },
  methods: {
    
  },
};
</script>
<style lang="stylus" scoped>
   .endBtn
      width: 345px
      height: 44px
      border-radius: 4px
      background: radial-gradient(#F24B0B  100%,#FF4A44   100%);
      margin-top: 15px
      margin-left: 15px
</style>

在其他的页面引用这个组件

引入

import EndButton from '@/components/EndButton.vue';
export default {
  name: 'UiEndyuyuetransfer',
   components:{
     PageTop,
      YuyueDetailItem,
      EndButton,
   },
   methods:{
   toEndYuyueTransferResult(){
   this.$router.push({name:"EndYuyueTransferResult"})
   }
   }
}

在页面中

<end-button btnMsg="终止" @click="toEndYuyueTransferResult"></end-button>

点击按钮你会发现,方法没有被触发。

给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件。

<end-button btnMsg="终止" @click.native="toEndYuyueTransferResult"></end-button>
Vue.js 相关文章推荐
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
vue-router定义元信息meta操作
Dec 07 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
vue实现锚点定位功能
Jun 29 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
Vue h函数的使用详解
Feb 18 Vue.js
vue实现列表垂直无缝滚动
Apr 08 Vue.js
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
vue组件vue-esign实现电子签名
Apr 21 #Vue.js
vue动态绑定style样式
Apr 20 #Vue.js
Vue OpenLayer测距功能的实现
vue 给数组添加新对象并赋值
Apr 20 #Vue.js
vue 数字翻牌器动态加载数据
Apr 20 #Vue.js
vue3.0 数字翻牌组件的使用方法详解
Apr 20 #Vue.js
vue封装数字翻牌器
Apr 20 #Vue.js
You might like
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python爬取读者并制作成PDF
2015/03/10 Python
Python的Django框架安装全攻略
2015/07/15 Python
Python测试模块doctest使用解析
2019/08/10 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
Python中url标签使用知识点总结
2020/01/16 Python
django 模型中的计算字段实例
2020/05/19 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
眼镜促销方案
2014/03/15 职场文书
个人自我剖析材料
2014/09/30 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
Redis唯一ID生成器的实现
2022/07/07 Redis