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中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
Apr 15 Javascript
JS定时器实例
Apr 17 Javascript
document.write的几点使用心得
May 14 Javascript
JavaScript实现N皇后问题算法谜题解答
Dec 29 Javascript
浅析Javascript ES6中的原生Promise
Aug 25 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
详解vue-cli开发环境跨域问题解决方案
Jun 06 Javascript
Promise.all中对于reject的处理方法
Aug 01 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
vue项目中实现的微信分享功能示例
Jan 21 Javascript
js实现一个页面多个倒计时的3种方法
Feb 25 Javascript
简单了解前端渐进式框架VUE
Jul 20 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
php curl 上传文件代码实例
2015/04/27 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
实例讲解php数据访问
2016/05/09 PHP
php字符串操作常见问题小结
2016/10/11 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
javascript时间函数大全
2014/06/30 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
上海中网科技笔试题
2012/02/19 面试题
浙大毕业生自荐信
2014/01/26 职场文书
情人节寄语大全
2014/04/11 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
教师读书活动总结
2014/05/07 职场文书
教师考核材料
2014/05/21 职场文书
个人求职信范文
2014/05/24 职场文书
三峡导游词
2015/01/31 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
关于运动会的广播稿
2015/08/19 职场文书
《春酒》教学反思
2016/02/22 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android