vue组件通信

Posted 因为是你的笔记呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue组件通信相关的知识,希望对你有一定的参考价值。

1.父组件向子组件通信(porps)

// 父组件parent.vue
<template>
    <child :sendInfo="info"></child>
</template>
<script>
import Child from \'@/components/Child.vue\'
export default {
    components: {
        \'child\': Child
    },
    data() {
        return {
            info: "hello"
        }
    }
}
</script>
// 子组件child.vue
<template>
    <span>{{sendInfo}}</span>
</template>
<script>
export default {
    props:["sendInfo"],
    data() {
        return {
            
        }
    }
}
</script>

2.子组件向父组件通信(this.$emit和v-on)

// 子组件child.vue
<template>
    <span @click="sendEvent">子组件向父组件</span>
</template>
<script>
export default {
    data() {
        return {
            msg: "love",
        }
    },
    methods:{
        sendEvent() {
            this.$emit("sendMsg", this.msg)
        }
    }
}
</script>
// 父组件parent.vue
<template>
    <child v-on:sendMsg="receiveEvent"></child>
</template>
<script>
import Child from \'@/components/Child.vue\'
export default {
    components: {
        \'child\': Child
    },
    data() {
        return {
            
        }
    },
    methods:{
        receiveEvent(data) {
            console.log(data)
        }
    }
}
</script>

3.任意组件之间通信(bus)

详见  http://www.cnblogs.com/sangzs/p/8472327.html

4.其他通信方式(refs)

 

以上是关于vue组件通信的主要内容,如果未能解决你的问题,请参考以下文章

Android 调用组件 w/listener 或让 viewmodel 调用组件与片段通信

vue_cli组件通信个人总结--完整代码

vscode代码片段生成vue模板

Vue 组件通信方案

Vue兄弟组件通信

vue组件通信