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 相关文章推荐
点击广告后才能获得下载地址
Oct 26 Javascript
简单的js分页脚本
May 21 Javascript
jQuery 学习第五课 Ajax 使用说明
May 17 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
Dec 01 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
jQuery使用cookie与json简单实现购物车功能
Apr 15 Javascript
Angular弹出模态框的两种方式
Oct 19 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 Javascript
JS实现百度搜索框
Feb 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
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
安装Python的教程-Windows
2017/07/22 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
Python实现微信机器人的方法
2019/09/06 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
信息管理员岗位职责
2013/12/01 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
校庆活动方案
2014/03/31 职场文书
婚前财产公证书
2014/04/10 职场文书
英语教育专业自荐信
2014/05/29 职场文书
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle