父子组件通信方式三

<template>
    <div>
        <h1>
            {{title}}
            <button @click="handleClick">emit</button>
        </h1>
        child
    </div>
</template>
<script>
    export default {
        props: ["title"],
        methods: {
            getTitle() {
                return this.title
            },
            handleClick(){
                this.$emit("child","123");
            }
        },
    }
</script>
<style lang="scss" scoped>
</style>
  • 父组件
<template>
    <div>
        Parent
        <Child title="my name is Parent" @child="handleChild"></Child>
    </div>
</template>
<script>
import Child from "./Child";
    export default {
        components: {
            Child,
        },
        mounted () {
        	// 获取子组件title
            // console.log(this.$children[0].title);
            // 修改子组件的title,会有警告
            this.$children[0].title = "pass children set value"; 
            console.log(this.$children[0].getTitle());
        },
        methods: {
            handleChild(msg) {
                console.log(msg);
            }
        },
    }
</script>
<style lang="scss" scoped>
</style>

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐