vue中组件传值方法

父组件给子组件传值

一、
      1.在子组件标签中写入父组件传递数据 向下传递prop
      2.在子组件内声明props选项接收父组件传递的数据 props:['','','']

父组件:

<Header :msg='msg' ></Header>

子组件:

props:['msg'],

二、
      provide inject
      1.父组件使用provide提供传递数据或者方法
      2.子组件使用inject注入传递的数据或者方法

父组件:

provide(){
    return {
      parent:this.parent,
      parentSend:this.parentSend,
      attr:this.attr
    }
  }

子组件:

inject:['parent','parentSend'],

三、
      事件总线 $emit 和 $on vue实例调用方法 
      1.新建event.js 
        import Vue from 'vue';
        export default new Vue();
      2.在父组件中使用$emit发射自定义事件同时传递参数
      import Bus from './event.js'
      Bus.$emit('自定义事件名称',传递数据)
      3.在子组件内部使用$on监听自定义事件同时接收参数
      Bus.$on('自定义事件名称',(a,b)=>{

      })

父组件:

import Bus from './event'


Bus.$emit('toHeader',this.pMsg,'hello world')

子组件:

import Bus from '../event'

Bus.$on('toHeader',(a,b)=>{
      console.log(a,b);
      this.a = a;
      this.b = b;
    })

子组件给父组件传值

1.发射自定义事件给父组件同时传递数据
      this.$emit('toParent',this.footer);
      2.在父组件模板中(在子组件标签上)声明自定义事件 
      <Footer @toParent='事件处理程序'></Footer>
      事件处理程序(接收子组件传递的数据){

      }

兄弟组件传值

利用事件总线 
    1.定义事件总线 新建xxx.js
        import Vue from 'vue';
        export default new Vue();
    2.在一个兄弟组件中引入事件总线 
      import Bus from './event.js'
      使用Bus.$emit('自定义事件名称',传递的数据)
    3.在另一个兄弟组件中引入事件总线
      import Bus from './event.js'
      使用Bus.$on('emit发射自定义事件名称',(a,b)=>{
        
      })监听发射自定义事件 同时接收数据
    

祖先后代组件传值/通信

provide inject

相关推荐

  1. vue父子组件

    2023-12-08 20:40:03       58 阅读
  2. VUE组件向子组件进行

    2023-12-08 20:40:03       34 阅读
  3. vue组件

    2023-12-08 20:40:03       69 阅读
  4. Vue3父子组件问题

    2023-12-08 20:40:03       32 阅读
  5. vue3父子组件之间的方式

    2023-12-08 20:40:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 20:40:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 20:40:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 20:40:03       87 阅读
  4. Python语言-面向对象

    2023-12-08 20:40:03       96 阅读

热门阅读

  1. 基于Docker安装Mysql:5.5

    2023-12-08 20:40:03       43 阅读
  2. 如何使用JQUERY ..从URL获取域名和参数?

    2023-12-08 20:40:03       49 阅读
  3. 解析 DNS 域名:了解其结构与解析过程

    2023-12-08 20:40:03       52 阅读
  4. unity连接php+mysql(超级简易游戏注册功能)

    2023-12-08 20:40:03       44 阅读
  5. Linux 统计命令Netstat详解

    2023-12-08 20:40:03       50 阅读
  6. 1380 一笔画问题

    2023-12-08 20:40:03       53 阅读
  7. Chromium包含的内容(引擎)

    2023-12-08 20:40:03       50 阅读
  8. LSKNet:大选择核网络在遥感目标检测中的应用

    2023-12-08 20:40:03       64 阅读
  9. 算法 | 每日一题 | 可获得的最大点数 | 滑动窗口

    2023-12-08 20:40:03       66 阅读
  10. 阿里云docker加速

    2023-12-08 20:40:03       52 阅读
  11. Android 9.0 Settings增加OTG开关

    2023-12-08 20:40:03       55 阅读