• vue 组件通信


    父组件->子组件:通过props接受父传递数据

    步骤1:子通过props键来接受父传递过来的数据                props:['变量名1',...,'变量名n']
    步骤2:父传递给子     父必须在调用子的组件上通过语法  v-bind:子props中的变量名="父data中的键"
       留心: props相当于在data中定义变量,因此使用大括号来获取
     

    子组件->父组件:通过$emit创建自定义事件发送数据

     步骤1:子创建自定义事件   通过语法this.$emit(事件名称, 数据1, ..., 数据n)

     1 // 简单理解:页面加载完毕 -> 组件渲染完毕会触发下面这个键
     2     mounted() {  //相当于window.onload
     3         // 在这里面创建自定义事件
     4         this.$emit("getSonData", this.myName2)
     5     },
     6     
     7     //点击给父发送   定义子普通方法
     8     methods:{
     9         getSonData(){
    10              this.$emit("getSonData", this.myName2)
    11         }
    12     }

     步骤2:父调用事件获取数据 父必须在调用子的组件上触发事件 @自定义事件="函数名"

      父调用子的时候 添加事件
     
    1  <子组件  @自定义事件名='父普通方法' >     </子组件> 
    1// 声明父普通函数
    2     methods: {
    3         showSonDataFn(data) {
    4             //data就是 子发送的数据
    5             this.mySonData = data //保存数据
    6         }
    7     },

      留心1:子什么时候创建自定义事件 

        1. 点击的时候
        2.mounted 函数相当于子组件加载完毕 类似window.onload
    留心2:底层会将自定义事件中的数据 传递给函数的形参
     
     

    兄弟组件:通过EventBus(事件总线)

    1  const eventBus = new Vue() // 相当于创建一个组件数据共享中心
    2  
    3 
    4  ​发送数据: eventBus.$emit(自定义事件名称,数据1,....,数据n)
    5  接受数据: eventBus.$on(自定义事件名称,处理函数)
     
    --
  • 相关阅读:
    百斯特
    C++
    转载
    转载+整理
    转载
    转载
    转载
    C++
    转载
    CodeForces
  • 原文地址:https://www.cnblogs.com/rookieKong/p/13621822.html
Copyright © 2020-2023  润新知