vue子组件调用父组件函数_vue子组件修改父组件值

vue子组件调用父组件函数_vue子组件修改父组件值vue子组件调用父组件的3种方法

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. 直接在子组件中通过this.$parent.event来调用父组件的方法

父组件:

<template>
  <div>
    <child></child>
  </div>
</template>
<script>
  import child from '~/components/dam/child';
  export default { 
   
    components: { 
   
      child
    },
    methods: { 
   
      fatherMethod() { 
   
        console.log('测试');
      }
    }
  };
</script>

子组件:

<template>
  <div>
    <button @click="childMethod()">点击</button>
  </div>
</template>
<script>
  export default { 
   
    methods: { 
   
      childMethod() { 
   
        this.$parent.fatherMethod();
      }
    }
  };

2. 在子组件里用$emit向父组件触发一个事件,父组件监听这个事件

父组件:

<template>
  <div>
    <child @fMethod="fatherMethod"></child>
  </div>
</template>
<script>
  import child from '~/components/dam/child';
  export default { 
   
    components: { 
   
      child
    },
    methods: { 
   
      fatherMethod(data) { 
   
        console.log(data);
      }
    }
  };
</script>

子组件:

<template>
  <div>
    <button @click="childMethod()">点击</button>
  </div>
</template>
<script>
  export default { 
   
    methods: { 
   
      childMethod() { 
   
        this.$emit('fMethod',data);
      }
    }
  };
</script>

3. 父组件把方法传入子组件中,在子组件里直接调用

父组件:

<template>
  <div>
    <child :fatherMethod="fatherMethod"></child>
  </div>
</template>
<script>
  import child from '~/components/dam/child';
  export default { 
   
    components: { 
   
      child
    },
    methods: { 
   
      fatherMethod() { 
   
        console.log('测试');
      }
    }
  };
</script>

子组件:

<template>
  <div>
    <button @click="childMethod()">点击</button>
  </div>
</template>
<script>
  export default { 
   
    props: { 
   
      fatherMethod: { 
   
        type: Function,
        default: null
      }
    },
    methods: { 
   
      childMethod() { 
   
        if (this.fatherMethod) { 
   
          this.fatherMethod();
        }
      }
    }
  };
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186888.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA虚拟机(JVM)以及跨平台原理(JDK、JRE、JVM)

    JAVA虚拟机(JVM)以及跨平台原理(JDK、JRE、JVM)

    2021年9月5日
    47
  • redhat7安装图形化界面命令_红旗linux官网

    redhat7安装图形化界面命令_红旗linux官网redflaglinuxdesktop5.0对硬件的基本要求是多高?(转)[@more@]从中科红旗的网站(http://www.redflag-linux.com/chanpin/ws5/ws5.html)里下载的红旗桌…

    2022年8月20日
    4
  • OpenSSL密码库算法笔记——第5.1.1章 椭圆曲线点群的定义

    OpenSSL密码库算法笔记——第5.1.1章 椭圆曲线点群的定义下面定义的椭圆曲线点群不仅包含了域的信息和曲线的信息,甚至还包括了很多别的有利于实现的信息。椭圆曲线点群的定义如下。typedefstructec_group_stEC_GROUP;structec_group_st{constEC_METHOD*meth;EC_POINT*generator;BIGNUM…

    2022年7月20日
    19
  • 数据库设计工具MySQLWorkBench[通俗易懂]

    数据库设计工具MySQLWorkBench[通俗易懂]  该工具为MySQL官方提供地址:http://dev.mysql.com/downloads/workbench/小伙伴们注意按自己的操作系统选择下载版本。·       注意事项:安装后将环境语言配置成简体中文,否则中文乱码工作步骤新建模型后,会进入此页面。 1./2.切换数据库表设计与ER图。3. 创建/管理ER图4. 创建/管理表结构1….

    2022年7月11日
    16
  • 从智能家居的发展看对讲企业的定位

    从智能家居的发展看对讲企业的定位当你在浏览最近的热词榜单时,智能家居会位居其中。自智慧城市建设的大潮来袭之后,智能家居是“首当其冲”,自然是占了个大便宜!同时,楼宇对讲企业也迎来了春天。相信好多人都知道楼宇对讲,它最早是出现在高层住宅、公寓大厦内外,用来传递户内与单元门之间的信息,并控制防盗门,甚至可在紧急情况下住户通过它向安保值班室报警。它是智能家居体系下最重要的一部分。如今面对智…

    2022年6月22日
    23
  • Typescript教程_typescript在线运行

    Typescript教程_typescript在线运行前言由于最近在使用vue3写项目,使用vue3的前提就是要学习TypeScript,TypeScript算是JavaScript的升级版,TypeScript包含JavaScript和自己的一些特性

    2022年8月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号