Props配置

原理:通过props配置,进行父子组件间的通信,跨父子通信需要其他组件进行过渡。

使用:

传递方在标签中添加传递内容

<Son :newName="name"/>

接收方在props配置中接收

props:['newName']     // 简单接收
props:{
sex:String,
age:Number
} // 接收的同时,进行数据类型检测

适用:父子通信

全局事件总线

原理:Vue 原型对象上包含事件处理的方法,VueComponent.prototype.__ proto__ === Vue.prototype,所有组件对象都能看到 Vue 原型对象上的属性和方法。

全局事件总线:包含事件处理相关方法的对象  + 可以得到所有的组件 + 唯一。

使用:

指定事件总线对象

new Vue({
beforeCreate () {
// 尽量早的执行挂载全局事件总线对象的操作
Vue.prototype.$globalEventBus = this
},
}).$mount('#App')

绑定自定义事件监听

this.$globalEventBus.$on(eventName, listener)

分发自定义事件

this.$globalEventBus.$emit(eventName, data)

绑定事件监听, 但只能处理一次

this.$globalEventBus.$once(eventName, listener)

解绑自定义事件监听

this.$globalEventBus.$off(eventName)

适用:兄弟通信、跨级通信。

消息订阅发布

原理:这种方式的思想与全局事件总线很相似,需要引入一个消息订阅与发布的第三方实现库: PubSubJS

订阅消息 --对应绑定事件监听、 发布消息 --分发事件、取消消息订阅 --解绑事件监听

使用:

下载第三方库

npm install -S pubsub-js

引入第三方库

import PubSub from 'pubsub-js'

订阅消息

PubSub.subscribe('msgName', functon(msgName, data){})

发布消息, 触发订阅的回调函数调用

PubSub.publish('msgName', data)

取消消息的订阅

PubSub.unsubscribe(token)

vue 组件间的几种通信方式的更多相关文章

  1. Vue组件间通信6种方式

    摘要: 总有一款合适的通信方式. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的 ...

  2. 应用六:Vue之父子组件间的三种通信方式

    (注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 组件是Vue的核心功能之一,也是我们在开发过程中经常要用到的.各个独立的组件之间如何进行数据 ...

  3. vue组件通信的几种方式

    最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child ...

  4. Vue 组件间传值

    前言 Vue 作为现在比较火的框架之一,相信您在使用的过程中,也会遇到组件间传值的情况,本文将讲解几种 Vue 组件间传值的几种方法,跟着小编一起来学习一下吧! 实现 注意: 学习本文,需要您对 Vu ...

  5. vue组件间通信六种方式(完整版)

    本文总结了vue组件间通信的几种方式,如props. $emit/ $on.vuex. $parent / $children. $attrs/ $listeners和provide/inject,以 ...

  6. Vue组件间通信-Vuex

    上回说到Vue组件间通讯,最后留了一个彩蛋~~~Vuex.Vuex是另一种组件通讯的方法,这节来说说Vuex(store仓库). 首先Vuex需要安装,安装的方式有很多,在这里就不一一细说了.我是通过 ...

  7. 黑马vue---56-58、vue组件创建的三种方式

    黑马vue---56-58.vue组件创建的三种方式 一.总结 一句话总结: 不论是哪种方式创建出来的组件,组件的 template 属性指向的模板内容,必须有且只能有唯一的一个根元素 1.使用 Vu ...

  8. Vue组件间通信方式到底有几种

    1. 前言 Vue的一个核心思想就是组件化.所谓组件化,就是把页面拆分成多个组件 (component),每个组件依赖的 CSS.JavaScript.模板.图片等资源放在一起开发和维护.组件是资源独 ...

  9. Vue组件间通信方式

    一.Props传递数据 在父组件中使用子组件,本质通过v-bind绑定属性传入子组件,子组件通过props接收父组件传入的属性 <template> <div> 父组件:{{m ...

随机推荐

  1. JS 函数提升&变量提升以及函数声明&函数表达式的区别

    感谢原文作者:迟早会有猫 原文链接:https://www.cnblogs.com/SidselLoong/p/10515809.html 今天看js的变量提升问题,里面提到了函数提升.然后发现自己之 ...

  2. 有关OPenCV的几个库函数的使用

    转载请注明来源:https://www.cnblogs.com/hookjc/ 1) IplImage* cvCreateImage( CvSize size, int depth, int chan ...

  3. 获取公网ip,获取用户城市地址

    <?php class GetIp { public static $api = 'http://ip.taobao.com/service/getIpInfo.php?ip='; public ...

  4. 什么是UILabel

    UILabel极其常用,功能比较专一:显示文字 UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonat ...

  5. 教你写Spring组件

    前言 原文地址:https://www.cnblogs.com/qnlcy/p/15905682.html 一.宗旨 在如日中天的 Spring 架构体系下,不管是什么样的组件,不管它采用的接入方式如 ...

  6. socket 套接字编程

    今日内容 socket 套接字编程 简易服务端与客户端代码实现 通信循环 黏包现象(TCP协议) 报头制作.struct 模块.封装形式 内容详细 一.socket 套接字编程 实现一款能够进行数据交 ...

  7. Solution -「洛谷 P6292」区间本质不同子串个数

    \(\mathcal{Description}\)   Link.   给定长度为 \(n\),仅包含小写字符的字符串 \(s\),\(m\) 次询问,每次询问一个子串 \(s[l:r]\) 的本质不 ...

  8. 公式编辑器CVE-2018-0798样本分析

      当前样本是一个RTF文档,内嵌一个公式编辑器对象,该对象利用Office编辑器漏洞CVE-2018-0798执行shellcode,对EQNEDT32.exe进行代码注入,执行恶意代码.   使用 ...

  9. 树莓派PICO刷入MicroPython内核的两种方式

    一.MicroPython简介 MicroPython 是 Python 3编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并且经过优化,可在微控制器和受限环境中运行. 可以在 25 ...

  10. Consul安装启动

    1.安装 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp ...