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 相关文章推荐
jquery 无限级下拉菜单的简单实现代码
Feb 21 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
js常用DOM方法详解
Feb 04 Javascript
微信小程序中顶部导航栏的实现代码
Mar 30 Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
探秘vue-rx 2.0(推荐)
Sep 21 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
May 14 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
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
python实现指定字符串补全空格的方法
2015/04/30 Python
python入门教程之识别验证码
2017/03/04 Python
python分析作业提交情况
2017/11/22 Python
如何通过Python实现标签云算法
2019/07/02 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
党员志愿者活动方案
2014/08/28 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
小学生手册家长意见
2015/06/03 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers