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与CSS复习(二)
Jun 29 Javascript
EasyUI 中 MenuButton 的使用方法
Jul 14 Javascript
alert和confirm功能介绍
May 21 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
Vue实现todolist删除功能
Jun 26 Javascript
浅谈redux以及react-redux简单实现
Aug 28 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
vue 实现单选框设置默认选中值
Nov 07 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 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 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
理解JS事件循环
2016/01/07 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
Python Grid使用和布局详解
2018/06/30 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
Python八皇后问题解答过程详解
2019/07/29 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Python类中self参数用法详解
2020/02/13 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
python实现程序重启和系统重启方式
2020/04/16 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
python属于解释语言吗
2020/06/11 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
Python基于execjs运行js过程解析
2020/11/27 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
集体生日活动方案
2014/08/18 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js