美文网首页
Vue基础-03 组件间的通信

Vue基础-03 组件间的通信

作者: 撕心裂肺1232 | 来源:发表于2019-04-10 18:40 被阅读0次

1. 组件间的通信

父子间的通信

通过props

父组件:

1.在父组件引入子组件

  1. 在components:{ } 里声明子组件
  2. 给子组件传值

子组件:

1.在props:[] 里声明传参的参数名,如:props:['a']
2.使用传过来的值,如:{{a}}

兄弟间的通信

用一个空的 Vue 实例作为中央事件总线:

1.新建一个bus.js,里面注册一个新的vue实例,如下:
import Vue from 'vue'
export var bus = new Vue()

  1. 在要通信的子组件中引入bus.js,在通信的组件里定义bus.$emit(' 名字1', '传值'),

3.在被通信的组件的created里定义:bus.$on('名字1', (text) => {
console.log(text)
})

Child1.vue

<template id='c1'>
    <button @click="alertMsg">{{txt11}}</button>
</template>

<script>
import {bus} from '../utils/bus.js'

export default {
    name: 'child1',
    // template: '#c1',
    props: ['txt11'],
    data(){
        return {
            
        }
    },
    methods: {
        alertMsg(){
            alert(1)
            bus.$emit('tip', '123')
        }
    }
}
</script>

<style>

</style>

Child2.vue

<template id='c2'>
    <button @click="alertMsg">{{txt22}}</button>
</template>

<script>
import {bus} from '../utils/bus.js'

export default {
    name: 'child2',
    // template: '#c2',
    props: ['txt22'],
    data(){
        return {

        }
    },
    created () {
    bus.$on('tip', (text) => {
            console.log(text)
        })
    },
    methods: {
        alertMsg() {
            alert(2)
        }
    }
    
}
</script>

<style>

</style>

Parent.vue

<template id='p'>
    <div>
        <child1 :txt11 = txt1></child1>
        <child2 :txt22 = txt2></child2>
    </div>
</template>
<script>
import child1 from './Child1'
import child2 from './Child2'

export default {
    name: 'parent',
    // template: '#p',
    data() {
        return {
            txt1: '孩子1',
            txt2: '孩子2'
        }
    },
    components: {
        // 'child1': child1,
        // 'child2': child2,
        child1,
        child2
    }
}
</script>
<style>

</style>

相关文章

  • Vue基础-03 组件间的通信

    1. 组件间的通信 父子间的通信 通过props 父组件: 1.在父组件引入子组件在components:{ } ...

  • 【Vue】组件通信(任意通信)

    本节所需的基础知识: 【Vue】组件通信(父传子props) 【Vue】组件通信(子传父$emit) 任意组件相互...

  • vue组件间通信的一些实用方法(VUE2.x)

    vue组件间通信的一些实用方法(VUE2.x) 一、父子组件间通信 常用的父子组件通信方法,一般涉及props和$...

  • vue 组件通信方式 ,父子、隔代、兄弟 三类通信,六种方法

    Vue 组件间通信只要指以下 3 类通信:父子组件通信、隔代组件通信、兄弟组件通信,下面分别介绍每种通信方式且会说...

  • vue.js系列三:组件间通信

    1.组件间通信基本原则 2.vue 组件间通信方式 2.1组件间通信 1: props(适用于父子组件传递属性) ...

  • Vue的状态管理「Vuex」

    前言   本文假设读者已经了解vue的基础语法,能够使用vue编写出简单的页面 Vue 组件间的通信 为了更全面认...

  • 干货博客集

    基础 webpack4.x 入门一篇足矣 react组件通信方式汇总 vue组件之间的通信 原生小程序组件通信 w...

  • 父子通信

    title: 组件内父子小组件之间的通信date: 2017-03-20 vue组件 技术分享 分享组件内父子小组...

  • Vue组件间通信方式都有哪些?

    一、组件间通信的概念 开始之前,我们把组件间通信这个词进行拆分 组件 通信 都知道组件是vue最强大的功能之一,v...

  • vue的组件通讯

    一、组件间通信的概念 开始之前,我们把组件间通信这个词进行拆分 组件 通信 都知道组件是vue最强大的功能之一,v...

网友评论

      本文标题:Vue基础-03 组件间的通信

      本文链接:https://www.haomeiwen.com/subject/fwxwmqtx.html