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

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 无刷直流电机simulink模型(ansoft电机仿真教程)

    这段时间刚开始接触Matlab中的Simulink仿真,我就结合自己的专业,利用Simulink进行了无刷直流电机的仿真,因为Simulink工具箱里面有很多可用的模块,所以建模过程变得非常简单。在Matlab界面中new->model之后,找到SimulinkLibraryBrowser,这里面有系统自带的很多模块,接下来我们就需要找到自己所需要的模块了,了解无刷直流电机的工作原理以后…

    2022年4月11日
  • 阿里云的云服务器ECS和云虚拟主机有何区别?

    阿里云的云服务器ECS和云虚拟主机有何区别?阿里云的云服务器和云虚拟主机的共同点是都可以用来搭建网站,云服务器和云虚拟主机有很多相同之处,也有很多不同之处,云吞铺子从功能、价格、应用场景及优势几方面详细说明阿里云的云服务器和云虚拟主机之间的区别:一:云服务器ECS和虚拟主机的区别云服务器:虚拟的一台服务器,除了硬件摸不着外其他的功能和服务器一样,我们可以狭义的将云服务器ECS就看做一台物理服务器,ECS让用户拥有更多权限,用户可以在ECS上安装各种扩展插件实现各种功能,ECS需要有专业技术人员来维护。适合有技术实力、懂得服务器配置及维护的用户

    2022年6月25日
  • C#获取当前系统时间

    C#获取当前系统时间
    --DateTime数字型System.DateTimecurrentTime=newSystem.DateTime();取当前年月日时分秒currentTime=System.DateTime.Now;取当前年int年=currentTime.Year;取当前月int月=currentTime.Month;取当前日int日=currentTime.Day;取当前时int时=currentTim

    2022年10月18日
  • 简单图文解释冯诺依曼体系结构(通俗易懂版)

    简单图文解释冯诺依曼体系结构(通俗易懂版)冯诺依曼式计算机主要由输入设备,输出设备,控制器,运算器,存储器该五个组成部分构成。我们可以将该体系结构的运作通过人类接收信息,处理信息,并输出信息这个过程来加以类比理解。人类:当眼睛看到某些信息,这些信息被存储到记忆装置,大脑从记忆装置取出信息,并加以思考运算,再放回记忆装置,大脑控制记忆装置将信息传输给嘴巴,将信息表达出来。(这个过程大脑的指令占领导地位)冯诺依曼计算机:当输入设备接收到数据,数据将被存储到存储器,控制器发出取数据和运算的指令,数据被取出方去放入运算器中加以运算,运算结束后,控制器

    2022年11月3日
  • Ant下载及配置安装

    Ant下载及配置安装Ant下载及配置安装

    2022年7月13日
  • python fileinput_python模块fileinput

    python fileinput_python模块fileinput在python脚本语言中的fileinput模块可以对一个或多个文件的内容进行迭代,编历操作.常用的函数:fileinput.input()#读取文件的内容fileinput.filename()#文件的名称fileinput.lineno()#当前读取行的数量fileinput.filelineno()#读取行的行号fileinput.isfir…

    2022年5月4日

发表回复

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

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