vue 父组件调用子组件方法及事件


Posted in Javascript onMarch 29, 2018

情景:

父组件中引入上传附件的子组件:点击组件可以分别上传对应要求的图片,子组件内部循环可创建多个模块.

父组件传入数组子组件循环来创建不同的组件模块,所有事件都在子组件内部.

vue 父组件调用子组件方法及事件

父组件页面的上方同时有一个上传图片按钮上传图片后会显示在第一个模块:

vue 父组件调用子组件方法及事件

设想思路:点击父组件中的按钮触发子组件中上传方法:

子组件上定义ref="refName",父组件的方法中用this.$refs.refName.method去调用子组件方法

子组件中处理上传的方法:

fileClick(index) {
   console.log('子组件的fileClick被调用了')
   console.log('index:  '+index)
   // this.aaa();
   if(!this.fileInfor[index].imgUrl){
   //如果当前框里没有图片,则实现上传
   document.getElementsByClassName('upload_file')[index].click();
  }    
},

父组件template

<template>
  <x-button type="submit" class="custom-primary" @click.native="xiechengUpload">上传图片</x-button>

  <up-load :fileInformation="fileInformation" ref="uploadRef"></up-load>
</template>

父组件method中定义方法,同时传入相应的index值.

Upload(){
  // console.log('父组件的xiechengUpload被调用了')
  this.$refs.uploadRef.fileClick(0);
},

此时就可以通过上传按钮将图片放到子组件的第一个模块中了.

下面看下Vue父组件调用子组件事件

Vue父组件向子组件传递事件/调用事件

不是传递数据(props)哦,适用于 Vue 2.0

方法一:子组件监听父组件发送的方法

方法二:父组件调用子组件方法

子组件:

export default {
  mounted: function () {
   this.$nextTick(function () {
    this.$on('childMethod', function () {
     console.log('监听成功')
    })
   })
  },
  methods {
    callMethod () {
     console.log('调用成功')
    }
  }
}

父组件:

<child ref="child" @click="click"></child>
export default {
  methods: {
   click () {
   this.$refs.child.$emit('childMethod') // 方法1
   this.$refs.child.callMethod() // 方法2
  },
  components: {
   child: child
  }
}

总结

以上所述是小编给大家介绍的vue 父组件调用子组件方法及事件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
document.all与WEB标准
May 13 Javascript
jQuery 表单验证扩展代码(二)
Oct 20 Javascript
editable.js 基于jquery的表格的编辑插件
Oct 24 Javascript
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
javaScript 动态访问JSon元素示例代码
Aug 30 Javascript
一个JavaScript用逗号分割字符串实例
Sep 22 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
Jan 27 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
Sep 18 Javascript
你知道JavaScript Symbol类型怎么用吗
Jan 08 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 #Javascript
Vue 源码分析之 Observer实现过程
Mar 29 #Javascript
vue 实现全选全不选的示例代码
Mar 29 #Javascript
Angular开发实践之服务端渲染
Mar 29 #Javascript
使用vue2实现购物车和地址选配功能
Mar 29 #Javascript
vue axios请求拦截实例代码
Mar 29 #Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 #Javascript
You might like
PHP静态文件生成类实例
2014/11/29 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
浅谈微信小程序flex布局基础
2018/09/10 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python中添加模块导入路径的方法
2021/02/03 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
迟到检讨书900字
2014/01/14 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
见习期自我鉴定
2014/01/31 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
廉洁教育学习材料
2014/05/19 职场文书
师范大学生求职信
2014/06/13 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
单位员工收入证明样本
2014/10/09 职场文书
禁毒主题班会教案
2015/08/14 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书