zoukankan      html  css  js  c++  java
  • 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(自定义事件名称,处理函数)
     
    --
  • 相关阅读:
    ASP.NET动态加载用户控件的页面生成过程
    简单的flash与asp.net通信(LoadVars类)
    转 推荐两本FLASH RIA应用开发方面的书籍
    关于代码加密解密保护
    转 利用 SharpZipLib方便地压缩和解压缩文件
    在C#中应用哈希表(Hashtable)
    C#中解析并运行一个本地命令行
    About Windows Live Writer
    安装sql server 2008,提示要删除SQL Server 2005 Express 工具,可我根本没装
    [转] C#中的null
  • 原文地址:https://www.cnblogs.com/rookieKong/p/13621822.html
Copyright © 2011-2022 走看看