vue.js父组件使用外部对象的方法示例


Posted in Javascript onApril 25, 2017

最近在碰到有同学问我,vue父组件怎么使用外部对象,具体例子如下:

有组件a:

<div @click="onClick">component a</div>
// componet a
...
methods: {
 onClick(evt) {
  // doSomething 这里只能拿到 mouseEvent
  this.outsideClickHandler(evt); // 调用外部处理函数
 }
}
...

有组件B,引用组件a,并传入outsideClickHandler方法:

<v-componetA :outside-click-handler="onClick">componentB</v-componetA>

对以上这种封装是组件库中再常见不过的封装了,实际使用中,有时候会需在component B传入component A的outsideClickHandler方法中使用component B中的数据对象,而component的代码又不能更改,这时候怎么办呢?

其实解决方案也是非常简单,但是有时候我们会"执迷不悟"。

废话不说,上代码!

// componet b
...
data() {
 a: {} // 数据
},
methods: {
 onClick(evt) {
  // 关键在于返回一个函数哦
  return (evt) => {
   // 这里也可以直接闭包使用
   console.log(this.a);
  }
 }
}
...

总之,对于vue函数来说,当无法直接传入参数的时候,可以考虑闭包实现,本文所说的也只是一个简单例子,js的函数作为一等公民还有很多有趣的应用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
ie下$.getJSON出现问题的解决方法
Feb 12 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
Javascript操作dom对象之select全面解析
Apr 24 Javascript
原生js中ajax访问的实例详解
Sep 19 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
Vue项目中添加锁屏功能实现思路
Jun 29 Javascript
原生JS封装_new函数实现new关键字的功能
Aug 12 Javascript
JavaScript中的回调函数实例讲解
Jan 27 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 #Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 #Javascript
整理一些最近经常遇到的前端面试题
Apr 25 #Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 #Javascript
js实现延迟加载的几种方法
Apr 24 #Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 #Javascript
浅析Angular2子模块以及异步加载
Apr 24 #Javascript
You might like
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
Symfony查询方法实例小结
2017/06/28 PHP
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
js数组实现权重概率分配
2017/09/12 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
js实现简单进度条效果
2020/03/25 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
Python 递归函数详解及实例
2016/12/27 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
python+mysql实现教务管理系统
2019/02/20 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
Python socket处理client连接过程解析
2020/03/18 Python
python如何运行js语句
2020/09/09 Python
python制作抽奖程序代码详解
2021/01/15 Python
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
材料化学专业求职信
2014/07/15 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
工作表扬信范文
2015/01/17 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
安全学习心得体会范文
2016/01/18 职场文书
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python