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 相关文章推荐
IE innerHTML,outerHTML所引起的问题
Jun 04 Javascript
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
javascript中局部变量和全局变量的区别详解
Feb 27 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
JavaScript利用闭包实现模块化
Jan 13 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
JS window对象简单操作完整示例
Jan 14 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
在VUE中使用lodash的debounce和throttle操作
Nov 09 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中require和include路径问题详解
2014/12/25 PHP
php经典算法集锦
2015/11/14 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP7 list() 函数修改
2021/03/09 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
js的对象与函数详解
2019/01/21 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
python 处理string到hex脚本的方法
2018/10/26 Python
python3实现表白神器
2019/04/09 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
Python新手学习函数默认参数设置
2020/06/03 Python
python中数字是否为可变类型
2020/07/08 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
教师绩效考核方案
2014/01/21 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
离婚上诉状范文
2015/05/23 职场文书
大学生十八大感想
2015/08/11 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书