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

父组件示例代码:

  1. 组件功能解析:
  2. 通过$emit获取子组件事件,通过$ref调用子组件中事件,实现子组件二的click事件
  3. 调用兄弟组件一中的事件
  1. <template>
  2. <div>
  3. <!-- 子组件1 -->
  4. <son1 ref="borther" :dataFromFather="dataFromFather"></son1>
  5. <!-- 子组件2 -->
  6. <son2 @triggerBrotherMethods="triggerBrotherMethods" :dataFromFather="dataFromFather"></son2>
  7. </div>
  8. </template>
  9. <script>
  10. // 引入子组件一
  11. import son1 from './son1'
  12. // 引入子组件二
  13. import son2 from './son2'
  14. export default {
  15. data() {
  16. return {
  17. dataFromFather: []
  18. }
  19. },
  20. // 注册子组件
  21. components: {
  22. son1,
  23. son2
  24. },
  25. methods: {
  26. // 子组件2中click事件
  27. triggerBrotherMethods() {
  28. // 父组件通过$ref调用子组件1中的事件方法
  29. this.$refs.borther[0].bortherMethods()
  30. },
  31. }
  32. }
  33. </script>
  34. <style lang="less" scoped>
  35. /* .... */
  36. </style>

子组件一

  1. 组件功能解析:
  2. 加载父组件数据,进行业务操作
  1. <template>
  2. <!-- 子组件son2 -->
  3. <div @click="bortherMethods">
  4. <!-- 父组件传值展示 -->
  5. {{dataFromFather}}
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. data() {
  11. return {
  12. }
  13. },
  14. props: ['dataFromFather'],
  15. methods: {
  16. // 兄弟组件中的按钮事件
  17. bortherMethods() {
  18. // 子组件事件方法
  19. ...
  20. },
  21. }
  22. }
  23. </script>
  24. <style lang="less" scoped>
  25. /* .... */
  26. </style>

子组件二:

  1. 组件功能解析:
  2. 加载父组件数据,通过click事件emit传给父组件
  1. <template>
  2. <!-- 子组件son2 -->
  3. <div @click="triggerBrotherMethods">
  4. <!-- 父组件传值展示 -->
  5. {{dataFromFather}}
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. data() {
  11. return {
  12. }
  13. },
  14. props: ['dataFromFather'],
  15. methods: {
  16. // 触发兄弟组件中的按钮事件
  17. triggerBrotherMethods() {
  18. this.$emit('clickBrotherBtn', true)
  19. },
  20. }
  21. }
  22. </script>
  23. <style lang="less" scoped>
  24. /* .... */
  25. </style>

埋坑一: vue中子组件调用兄弟组件方法的更多相关文章

  1. Vue中子组件调用父组件的方法

    Vue中子组件调用父组件的方法 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  2. VUE中的子父组件、兄弟组件之间相互传值,相互调用彼此的方法

    vue--组件传值 父组件传值给子组件--"props" 一.父组件--示例 <template> <child :choose-data="choos ...

  3. vue中子组件调用父组件里面的数据和方法 父组件调用子组件的数据和方法

    1.子组件直接调用父组件的数据和方法 在父组件father,vue <template> <div> <!-- 父组件里面的数据 --> <p>父组件里 ...

  4. Vue子组件调用父组件的方法

    Vue子组件调用父组件的方法   Vue中子组件调用父组件的方法,这里有三种方法提供参考 第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 父组件 <temp ...

  5. vue 子组件调用父组件的方法

    vue中 父子组件的通信: 子组件通过 props: { //子组件中写的. childMsg: { //字段名 type: Array,//类型 default: [0,0,0] //这样可以指定默 ...

  6. Vue 子组件调用父组件 $emit

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8">      ...

  7. Vue 父组件调用子组件的方法

    qwq  前两天看了下vue,父子组件方法的调用,怕忘记,所以做个小记录. 一.父组件调用子组件的方法 1.父组件 <template> <div id="rightmen ...

  8. vue 子组件调用父组件的函数

    子组件调用父组件的函数,使用$emit(eventName,[...args]),触发当前实例上的事件.附加参数都会传给监听器回调. 子组件 <template> <div> ...

  9. vue+element ui项目总结点(四)零散细节概念巩固如vue父组件调用子组件的方法、拷贝数据、数组置空问题 等

    vue config下面的index.js配置host: '0.0.0.0',共享ip (假设你的电脑启动了这个服务我电脑一样可以启动)-------------------------------- ...

随机推荐

  1. 安装和使用Redis【转】

    Redis是一个高性能的内存数据库,它体积轻巧性能又高,在企业中被广泛使用. 安装Redis Windows安装 Redis是为Linux系统设计的,但是也有团队为Windows做了移植.我们可以到这 ...

  2. vue将页面导出成pdf

    npm i jspdf-html2canvas prinOut(){ // 导出pdf let page = document.querySelector('.app-main'); // page ...

  3. 6 November in 614

    Contest A. greet map,完了. B. gift map,完了. C. [Usaco2008 Nov Gold] 安慰奶牛 最小生成树.新边权设为原边权的两倍,再加上两端点的点权.完了 ...

  4. error C2065: ‘__in’ : undeclared identifier

    转自VC错误:http://www.vcerror.com/?p=1307 问题描述: 编译时出现: error C2065: '__in' : undeclared identifier error ...

  5. js实现的页面加载完毕之前loading提示效果

    页面加载readyState的五种状态 原文如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loadin ...

  6. multiprocessing的Process类的简单使用

    ''' 跨平台的进程创建模块(multiprocessing) 支持跨平台 :window/linux multiprocessing提供一个Process类来代表一个进程对象 ''' from mu ...

  7. python 装饰器 第六步:带有收集参数的函数的装饰器

    #第六步:带有收集参数的函数的装饰器 #装饰器函数 def kuozhan(func): #内部函数(扩展之后的eat函数) def neweat(*w,**n): #以下三步就是扩展之后的功能,于是 ...

  8. PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹

    PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹 一.使用递归获取树形菜单 数据表category(id,name,parent_id) <?php class category{ / ...

  9. Charles 抓 HTTPS 包

    最新 Charles 破解版下载地址:http://charles.iiilab.com/ 关掉翻墙软件!!!!! 重启 Charles !!!!! 重启浏览器!!!!! 如果是抓手机的HTTPS包, ...

  10. vue项目的脚手架

    > cnpm i @vue/cli@3 -g > vue create myapp * 选择 Manually select features ----- 自选预设文件 * 选择 vue ...