vue中子组件调用兄弟组件方法


Posted in Javascript onJuly 06, 2018

小计: 开发中遇到子组件需要调用兄弟组件中的方法,如下写个小demo记录下心得,如果你有好的方法,请到评论区域指教

父组件示例代码:

组件功能解析: 

通过$emit获取子组件事件,通过$ref调用子组件中事件,实现子组件二的click事件

调用兄弟组件一中的事件

<template>
 <div>
  <!-- 子组件1 -->
  <son1 ref="borther" :dataFromFather="dataFromFather"></son1>
  <!-- 子组件2 -->
  <son2 @triggerBrotherMethods="triggerBrotherMethods" :dataFromFather="dataFromFather"></son2>
 </div>
</template>

<script>
// 引入子组件一
import son1 from './son1'
// 引入子组件二
import son2 from './son2'

export default {
 data() {
  return {
   dataFromFather: []
  }
 },
 // 注册子组件
 components: {
  son1,
  son2
 },
 methods: {
  // 子组件2中click事件
  triggerBrotherMethods() {
   // 父组件通过$ref调用子组件1中的事件方法
   this.$refs.borther[0].bortherMethods()
  },
 }
}
</script>

<style lang="less" scoped>
/* .... */
</style>

子组件一

组件功能解析: 

加载父组件数据,进行业务操作

<template>
 <!-- 子组件son2 -->
 <div @click="bortherMethods">
  <!-- 父组件传值展示 -->
  {{dataFromFather}}
 </div>
</template>

<script>
export default {
 data() {
  return {
  }
 },
 props: ['dataFromFather'],
 methods: {
  // 兄弟组件中的按钮事件
  bortherMethods() {
   // 子组件事件方法
   ...
  },
 }
}
</script>

<style lang="less" scoped>
/* .... */
</style>

子组件二:

组件功能解析: 

加载父组件数据,通过click事件emit传给父组件

<template>
 <!-- 子组件son2 -->
 <div @click="triggerBrotherMethods">
  <!-- 父组件传值展示 -->
  {{dataFromFather}}
 </div>
</template>

<script>
export default {
 data() {
  return {
  }
 },
 props: ['dataFromFather'],
 methods: {
  // 触发兄弟组件中的按钮事件
  triggerBrotherMethods() {
   this.$emit('clickBrotherBtn', true)
  },
 }
}
</script>

<style lang="less" scoped>
/* .... */
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
微信小程序之蓝牙的链接
Sep 26 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
JS随机数产生代码分享
Feb 24 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
Oct 31 Javascript
JavaScript中构造函数与原型链之间的关系详解
Feb 25 Javascript
vue请求本地自己编写的json文件的方法
Apr 25 Javascript
vue中element 上传功能的实现思路
Jul 06 #Javascript
vue 组件中添加样式不生效的解决方法
Jul 06 #Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
Jul 06 #Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 #Javascript
用Node提供静态文件服务的方法
Jul 06 #Javascript
vue使用监听实现全选反选功能
Jul 06 #Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 #Javascript
You might like
使用adodb lite解决问题
2006/12/31 PHP
数据库查询记录php 多行多列显示
2009/08/15 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
求职简历中的自我评价分享
2013/12/08 职场文书
科学发展观演讲稿
2014/09/11 职场文书
办公室个人总结
2015/02/28 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
python编程实现清理微信重复缓存文件
2021/11/01 Python