01 vue子组件调用父组件中的方法

简介: 01 vue子组件调用父组件中的方法

vue子组件,调用父组件中有三种方法哈!下面我们一起来讲解。


第一种使用


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


第一种的缺点是不能够传递参数哈。它只能够调用方法。


子组件.vue
<template>
    <div @click="fa">
        我是子组件
    </div>
</template>
<script>
    export default {
        methods:{
            fa(){
                // 第一种 直接在子组件中通过this.$parent.父组件中的方法  来调用父组件的方法
               this.$parent.fatherMethod('op');//父组件中有这一个方法fatherMethod     
            }
        }
    }
</script>


父组件.vue
 methods:{
            fatherMethod(){
                console.log("被子组件触发了")
            }
 }


第二种


方法是在子组件里用$emit向父组件触发一个事件,父组件监听这个事件就行了 可以传递参数


第三种


子组件.vue
<template>
    <div @click="mychild()">
        我是子组件
    </div>
</template>
<script>
    export default {
        props: {
            say: {
                type: Function,
                default: null
            }
        },
        methods:{
                // 第三种是父组件把方法传入子组件中,在子组件里直接调用这个方法
                mychild(){
                    if (this.say) {
                        this.say();
                    }
                }
        }
    }
</script>


父组件
<zidiaoyongfa :say="say"></zidiaoyongfa>
 say(){
      console.log("haha  我要说话")
  }
相关文章
|
19小时前
|
JavaScript 前端开发 测试技术
使用 Vue CLI 脚手架生成 Vue 项目
通过 Vue CLI 创建 Vue 项目可以极大地提高开发效率。它不仅提供了一整套标准化的项目结构,还集成了常用的开发工具和配置,使得开发者可以专注于业务逻辑的实现,而不需要花费大量时间在项目配置上。
53 7
使用 Vue CLI 脚手架生成 Vue 项目
|
2天前
|
JavaScript 算法
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
8 1
|
2天前
|
JavaScript
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
6 1
|
JavaScript
Vue子组件监听父组件的事件
Vue子组件监听父组件的事件
652 0
Vue子组件监听父组件的事件
|
10天前
|
JavaScript 前端开发 开发者
vue3+ts配置跨域报错问题解决:> newpro2@0.1.0 serve > vue-cli-service serve ERROR Invalid options in vue.
【6月更文挑战第3天】在 Vue CLI 项目中遇到 &quot;ERROR Invalid options in vue.config.js: ‘server’ is not allowed&quot; 错误是因为尝试在 `vue.config.js` 中使用不被支持的 `server` 选项。正确配置开发服务器(如代理)应使用 `devServer` 对象,例如设置代理到 `http://xxx.com/`: ```javascript module.exports = { devServer: {
24 1
|
2天前
|
JavaScript
vue知识点
vue知识点
10 3
|
3天前
|
JavaScript 前端开发 Java
【vue实战项目】通用管理系统:作业列表
【vue实战项目】通用管理系统:作业列表
16 0
|
3天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
20 2
|
3天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息录入
【vue实战项目】通用管理系统:信息列表,信息录入
11 3
|
3天前
|
JavaScript 前端开发 API
【vue实战项目】通用管理系统:学生列表
【vue实战项目】通用管理系统:学生列表
16 2