一.父组件--->子组件 props
1.特点:props是用于父组件向子组件传递数据信息(props是单向绑定的,即只能父组件向子组件传递,不能反向
2.用法:父组件中使用子组件时,绑定要传递的数据,父组件中对要绑定的数据添加方法或者值
子组件通过props接收值
3.示例
// 父组件
<template>
<div>我是父组件</div>
 <add-configuration :message="checkList" />
</template>
import addConfiguration from '@/components/addConfiguration.vue'
export default {
components:{
addConfiguration
},
data() {
return {
checkList: []
}
},
methods:{
getList() {
....
this.checkList= ...
}
}
}
// 子组件
<template>
<div>我是子组件</div>
<div>我是父组件传递过来的数组{{message}}</div>
</template>
export default {
 props: {
    message: {
      type: Array,
      default: () => []
    }
  },
data() {
return {
}
}
}
二.子组件--->父组件 $refs
1.特点:父组件获取子组件的方法或者属性,$refs 数据是双向绑定的,子组件可以向父组件传递方法,父组件可以向子组件传递参数
2.用法:父组件通过子组件中 的ref标识来获取子组件的方法或者属性
this.$refs.标识.方法
3.示例:
// 父组件
<template>
<div>我是父组件</div>
 <add-configuration ref="configurationRef" />
</template>
import addConfiguration from '@/components/addConfiguration.vue'
export default {
components:{
addConfiguration
},
data() {
return {
}
},
methods:{
getList() {
this.$ref.transforFntoFather()
}
}
}
// 子组件
<template>
<div>我是子组件</div>
</template>
export default {
data() {
return {
}
},
methods:{
transforFntoFather() {
....
}
}
}
三.子组件--->父组件 $emit
1.特点:父组件向子组件通信,而通过e m i t 实 现 子 组 件 向 父 组 件 通 信 。 对 于 emit 实现子组件向父组件通信
2.用法:
父组件中的子组件绑定一个事情@事件名
父组件处理事件方法
子组件调用
this.emit(事件名)
3.示例:
// 父组件
<template>
<div>我是父组件</div>
 <add-configuration @fatherMethod="initialData" />
</template>
import addConfiguration from '@/components/addConfiguration.vue'
export default {
components:{
addConfiguration
},
data() {
return {
}
},
methods:{
initialData() {
.... // 请求api接口返回数据
}
}
}
// 子组件
<template>
<div>我是子组件</div>
</template>
export default {
data() {
return {
configCategory:1
}
},
mounted(){
this. getListData()
}
methods:{
getListData() {
this.$emit('fatherMethod',this.configCategory)
}
}
}

vue常见的三种组件通讯—props,$refs,this.$emit的更多相关文章

  1. Vue中的三种Watcher

    Vue中的三种Watcher Vue可以说存在三种watcher,第一种是在定义data函数时定义数据的render watcher:第二种是computed watcher,是computed函数在 ...

  2. 常见的三种Web服务架构

    常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing ...

  3. 缓慢变化维 (Slowly Changing Dimension) 常见的三种类型及原型设计(转)

    开篇介绍 在从 OLTP 业务数据库向 DW 数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库 ...

  4. MySQL - 常见的三种数据库存储引擎

    原文:MySQL - 常见的三种数据库存储引擎 数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧. ...

  5. IOS常见的三种回调方法介绍

    认识下三种IOS常见的回调模式. 代理模式作为IOS中最常见的通讯模式,代理几乎无处不在. 这里有一个数组,我们首先通过代理的方式将数组传递到其他方法中去. 设置协议及方法 @protocol Cal ...

  6. Vue基础(三)---- 组件化开发

    基本结构: ◆1.组件化开发思想 ◆2.组件注册 ◆3.Vue调试工具用法 ◆4.组件间数据交互 ◆5.组件插槽 ◆6.基于组件的案例   ◆1.组件化开发思想 优点: 提高开发效率 方便重复使用 简 ...

  7. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分.不同的存储引擎决定了 ...

  8. js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结

    写前端的时候,很多的时候是避免不了注册这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那么 ...

  9. 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型及原型设计

    在从 OLTP 业务数据库向 DW 数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库中?在数据 ...

随机推荐

  1. go测试--进阶

    目录 前言 控制编译的参数 -args -json -o 控制测试的参数 -bench regexp -benchtime s -cpu 1,2,4 -count n -failfast -list ...

  2. js获取文件名和后缀名

  3. for in和for of的简单区别

    //for in可以遍历数组和对象,但是for of只能遍历数组,不可以遍历对象 var arr = [1,4,5,6,7,8]; var obj = { name:'za', age:19, say ...

  4. x和y为正整数变量,求满足 x+y | xy 的通解。

    x和y为正整数变量,求满足 x+y | xy 的通解. 解:由题设可知存在正整数t满足t(x+y)=xy. 设m=(x,y),则存在正整数u和v满足: x=mu, y=mv, (u,v)=1. 于是有 ...

  5. Heartbeat MySQL双主复制

    目录 一 基础环境 二 实际部署 2.1 安装MySQL 2.2 初始化MySQL 2.3 master01 my.cf配置 2.4 创建账号 2.5 master02 my.cf配置配置 2.6 创 ...

  6. zigzag走线原理及应用

    电路板上弯弯扭扭的走线有什么用 往期文章: 一文读懂高速互联的阻抗及反射(上) 一文读懂高速互联的阻抗及反射(中) 前面几篇文章有部分读者反馈太深奥,不好懂,要求来一点轻松易懂的.这不,它来了!本期文 ...

  7. Java实现一个死锁

    Java实现一个死锁 有一个藏宝图(treasureMapFragment)分成两份jack持有treasureMapFragment1残片1,json持有残片2.jack要求必须先看到json的残图 ...

  8. Element UI:DatePicker的终止日期与起始日期关联

    Template // 起始日期 <el-date-picker v-model="queryParams.startTime" :picker-options=" ...

  9. jdbcTemplate快速入门

    一. c3p0和dbcp区别 二.导包 hibernate通过映射自动创建表: 三.代码实现

  10. python 直接插入排序

    # 先将未排序的元素放到九天之上,一个临时变量temp,上到九天之上去观察前面已经排好的序列, # 然后从后向前对比,只要临时变量小于某个位置的值,就将其向前移动一位,就是给比它下标大 # 1的位置处 ...