vue之组件通信
vue组件通信一般分为以下几种情况:
1、父子组件通信;
2、兄弟组件通信;
3、跨多层级组件通信;
一、父子通信
父组件通过props传递数据给子组件,子组件通过emit发送事件传递数据给父组件。
父组件和子组件通信
父组件如下:
<template>
<div class="parent">
<div id="app">
<!-- 利用v-bind绑定message,即子组件中props需要写入的参数 -->
<!-- parentMsg即数据中的键名 -->
<child v-bind:message="parentMsg"></child>
</div>
</div>
</template> <script>
import child from './components/Child'
export default {
name: "parent",
components: {
child
},
data(){
return{
parentMsg:"hello,child"
}
}
}
</script>
子组件如下:
<template>
<div class="child">
<h2>child子组件部分</h2>
<p>{{message}}</p>
</div>
</template> <script>
export default {
name: "child",
props : ['message'],//子组件通过props接收参数,message即父组件中绑定的属性message
} </script>
子组件接收的方法有三种方式:
第一种,直接接收:
props: ['childCom']
第二种,已对象的形式设置接收类型:
props: {
childCom: String //这里指定了字符串类型,如果类型不一致则会警告
}
第三种,已对象的形式设置接收类型和默认值:
props: {
childCom: {
type: String,
default: 'sichaoyun'
}
}
子组件和父组件通信
子组件代码:

父组件代码:

兄弟组件通信
兄弟组件也是使用$emit('事件名称,'需要传递的数据'),作为发送数据的一方和$on(事件名称",'回调函数') 作为接收数据的一方。
首先在scr文件夹下,新建一个文件event.js,然后在里面新建一个vue实例。这个实例的作用就是作为兄弟组件间的桥梁,也就是中央事件中线。


然后建两个兄弟组件,组件代码分别如下:
兄弟组件一:

兄弟组件二:

接着将这两个组件引入到需要调用的组件里面,这里用app.vue为例。
app.vue文件代码如下:

跨多层次组件通信
这个是在Vue 2.2版本新增的API provide / inject 虽然文档中不推荐直接在业务中使用,但是如果用得好的话,还是很有用的。
假设有父组件 A,然后有一个跨多层级的子组件 B

vue之组件通信的更多相关文章
- Vue 兄弟组件通信(不使用Vuex)
Vue 兄弟组件通信(不使用Vuex) 项目中,我们经常会遇到兄弟组件通信的情况.在大型项目中我们可以通过引入vuex轻松管理各组件之间通信问题,但在一些小型的项目中,我们就没有必要去引入vuex.下 ...
- Vue兄弟组件通信
Vue兄弟组件通信之借助中央事件总线 下载链接:https://www.yinxiangit.com 其实要实现兄弟组件通信,就算是通过父子组件通信的方式也是可以达到的,如 子 ——>父——&g ...
- Vue父子组件通信(父级向子级传递数据、子级向父级传递数据、Vue父子组件存储到data数据的访问)
Vue父子组件通信(父级向子级传递数据.子级向父级传递数据.Vue父子组件存储到data数据的访问) 一.父级向子级传递数据[Prop]: ● Prop:子组件在自身标签上,使用自定义的属性来接收外界 ...
- vue 父子组件通信
算是初学vue,整理一下父子组件通信笔记. 父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消息. 一.父组件向子组件下发数据: 1.在子组件中显式地用props选项声明它预期的数据 ...
- vue 父子组件通信props/emit
props 1.父组件传递数据给子组件 父组件: <parent> <child :childMsg="msg"></child>//这里必须要 ...
- vue中组件通信
组件的通信 1. 父子组件通信 案例: //父子组件通信思路 // 1 将父组件的数据传给子组件 在子组件上自定义单项数据绑定 // 2 子组件用props 接受自定义的那个:号属性 Vue.co ...
- vue父子组件通信高级用法
vue项目的一大亮点就是组件化.使用组件可以极大地提高项目中代码的复用率,减少代码量.但是使用组件最大的难点就是父子组件之间的通信. 子通信父 父组件 <template> <div ...
- vue 父子组件通信详解
这是一篇详细讲解vue父子组件之间通信的文章,初始学习vue的时候,总是搞不清楚几个情况 通过props在父子组件传值时,v-bind:data="data",props接收的到底 ...
- vue学习指南:第七篇(详细) - Vue的 组件通信
Vue 的 父传子 子传父 一.父组件向子组件传值: 父传子 把需要的数据 传递给 子组件,以数据绑定(v-bind)的形式,传递到子组件内部,供子组件使用 缩写是(:) 1.创建子组件,在src/ ...
随机推荐
- mysql慢查询及查询优化
mysql默认是没有开启慢查询的 1 查看慢查询的配置状态 show variables like 'slow_query%'; slow_query_log 慢查询开启状态 slow_query_l ...
- [转帖]插曲:大白话带你认识Kafka
插曲:大白话带你认识Kafka 2019-11-18 21:58:27 从事Java 阅读数 2更多 分类专栏: java Kafaka 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...
- 基于STM32F767两路互补SPWM波(HAL库)
SPWM波指的是占空比呈正弦规律变化的PWM波,生成方式是在定时器中断中调整PWM波的占空比. 对于互补的两路SPWM波,一路为低电平 ‘0’ 时,另一路为高电平 ‘1’,即两路是互补的. 对于STM ...
- 七牛云图床存储+Alfread工作流+使用QSHELL
layout: post title: 七牛云图床存储+Alfread工作流+使用QSHELL 来源:http://www.cnblogs.com/cmi-sh-love/p/8901620.html ...
- 【转载】C#中使用decimal.TryParse方法将字符串转换为十进制decimal类型
在C#编程过程中,将字符串string转换为decimal类型过程中,时常使用decimal.Parse方法,但decimal.Parse在无法转换的时候,会抛出程序异常,其实还有个decimal.T ...
- Oracle数据库之查询
一.单表简单查询: 1. select * from scott.emp 2.去重: --去除重复记录 select distinct ssex from java0322; select disti ...
- 财政FINAUNCE英文FINAUNCE金融
中文名金融 外文名Finance.Finaunce 概括为货币的发行与回笼 从事金融机构有银行.信托投资公司 目录 1 基本定义 2 关于概念 ? 概念新解 ? 概念现状 ? 熊德平新解 3 金融特征 ...
- 【技巧】如何使用客户端发布BLOG+如何快速发布微信公众号文章
[技巧]如何使用客户端发布BLOG+如何快速发布微信公众号文章 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...
- npm 安装、卸载 模块或包的命令(转载)
npm安装卸载命令 来源:https://www.jianshu.com/p/e6ee00ea03cd npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目 ...
- MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?
一.xtrabackup和mysqldump会造成锁等待吗? xtrabackup会,它在备份时会产生短暂的全局读锁FTWL(flush table with read lock),用于拷贝frm/M ...