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 SELECT单选模拟jQuery.select.js
Nov 12 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
常用的JavaScript模板引擎介绍
Feb 28 Javascript
开启BootStrap学习之旅
May 04 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
JS解决position:sticky的兼容性问题的方法
Oct 17 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
d3.js实现自定义多y轴折线图的示例代码
May 30 Javascript
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 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
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
php多进程应用场景实例详解
2019/07/22 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
深入理解Python中装饰器的用法
2016/06/28 Python
python 基础教程之Map使用方法
2017/01/17 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
党委书记岗位职责
2013/11/24 职场文书
政府法律服务方案
2014/06/14 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
颐和园导游词400字
2015/01/30 职场文书
新员工试用期自我评价
2015/03/10 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python