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 相关文章推荐
js中的escape及unescape函数的php实现代码
Sep 04 Javascript
prototype Element学习笔记(Element篇三)
Oct 26 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
jQuery获取和设置表单元素的方法
Feb 14 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
Dec 29 Javascript
利用JS生成博文目录及CSS定制博客
Feb 10 Javascript
关于Javascript中defer和async的区别总结
Sep 20 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
浅谈键盘上回车按钮的js触发事件
Feb 13 Javascript
vue组件tabbar使用方法详解
Nov 06 Javascript
React列表栏及购物车组件使用详解
Jun 28 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
php实现数字补零的方法总结
2018/09/12 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
js实现批量删除功能
2020/08/27 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python logging模块学习笔记
2014/05/24 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Python 爬虫的原理
2020/07/30 Python
超级实用的8个Python列表技巧
2020/08/24 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
食品营养与检测应届生求职信
2013/11/08 职场文书
元旦晚会主持词
2014/03/24 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
员工评语范文
2014/12/31 职场文书
爱国主义影片观后感
2015/06/18 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python