Vue2组件间通信

本文详细探讨了Vue2中组件间的通信方式,包括props、自定义事件、全局事件总线$bus、pubsub.js、Vuex以及插槽。深入讨论了事件修饰符如.native、v-model的工作原理和应用,以及.sync属性在父子数据同步中的作用。同时介绍了vue-helper在父子组件通信中的使用,以及ref的多种用途,最后提到了作用域插槽在父子组件通信中的应用。
摘要由CSDN通过智能技术生成

Vue2组件间通信

1.组件间通信
props
  • 父子通信
    • 传递函数,子组件给父组件传递数据
    • 传递数据,父组件给子组件传递数据
  • 接收:三种写法['tools'],{tools:Array},{tools:{type:Array,default:[],require:true}}
  • 路由的props
    • 布尔值,把路由中params参数映射为组件props数据
    • 对象,静态数据,很少用
    • 函数形式,可以把路由中params|query参数映射为组件props数据
自定义事件

使用场景:子组件给父组件传递数据

  • o n [ 简 写 @ ] 和 on[简写@]和 on[@]emit
  • 事件:原生DOM事件----【click|mouseenter…】
  • 事件:自定义事件-----[子给父传递数据]
全局事件总线$bus

适用场景:万能

Vue.prototype.$bus = this

pubsub.js,在React框架中使用比较多,(发布与订阅)

适用场景:万能

Vuex
  • 数据非持久化
  • 适用场景:万能
  • 核心概念:5

    • state

    • mutations

    • actions

    • getters

    • modules

插槽

适用场景:父子间组件通信 —(一般结构)

  • 默认插槽

  • 具名插槽

  • 作用域插槽

2.进阶组件间通信
1)事件相关的深入学习
  • 事件:事件已经学习过两种,第一种原生DOM事件,第二种自定义事件。

  • 组件绑定原生DOM事件,并非原生DOM事件,而是所谓的自定义事件。

  • 如果你想把自定义事件变为原生DOM事件,需要加上修饰符.native修饰

  • 这个修饰符(.native),可以把自定义事件【名字:原生DOM类型的】变为原生DOM事件,

<template>
  <div>
    <h1>EventTest组件</h1>
    <!-- 原生DOM事件 -->
    <button @click="handler">原生btn按钮</button>
    <!-- 使用Event1组件:底下这个组件  @click.native 原生DOM事件,利用事件的委派-->
    <Event1 @click.native="handler1"></Event1>
    <hr/>
    <!-- 自定义事件对于原生DOM没有任何意义 -->
    <!-- <button @erha="handler3"> 原生的btn</button> -->
    <Event2 @click="handler2" @xxx="handler2"></Event2>
    <!-- 表单元素 color:选取颜色  range:范围条 date:日历 week-->
    <input type="week" />
  </div>
</template>

&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值