vue--三种组件中之间的传值
参考网址:https://www.jianshu.com/p/46573a741c29
一、父子组件之间的传值----props/$emit
组件之间的传值,我们比较常用到的是props/$emit
1、父组件向子组件传值--props
这里我们在父组件中定义的extensionObj是一个对象
<Extension :extensionObj="extensionObj"/>
data(){
return{
extensionObj: {},
}
}
在子组件中接收值
props:{
extensionObj: {
type: Object,
default: {}
},
},
2、子组件向父组件传值
子组件:
<col @click="tableClickBtn(item)"></col>
写个方法触发
tableBtnClick(item){
this.$emit('select',item);
}
父组件:
<StaffDialog ref="staffDialogRef" @select="staffDialogSelect"/>
写个方法接收
staffDialogSelect(item) {
this.searchObj = item;
}
二、父组件向下(深层)子组件传值----provide/inject
这里引用vue官网文档里的话
类型:
provide:Object | () => Object
inject:Array<string> | { [key: string]: string | Symbol | Object }
详细:
provide 和 inject 主要在开发高阶插件/组件库时使用。并不推荐用于普通应用程序代码中。
provide 选项应该是一个对象或返回一个对象的函数
inject 选项应该是:
一个字符串数组,或
一个对象,对象的 key 是本地的绑定名,value 是:
在可用的注入内容中搜索用的 key (字符串或 Symbol),或
一个对象,该对象的:
from property 是在可用的注入内容中搜索用的 key (字符串或 Symbol)
default property 是降级情况下使用的 value
// 父级组件提供 'foo'
var Provider = {
provide: {
foo: 'bar'
},
// ...
}
// 子组件注入 'foo'
var Child = {
inject: ['foo'],
created () {
console.log(this.foo) // => "bar"
}
// ...
}
父组件中getCustInfo为接口返回的数据
provide(){
return {
getCustInfo: this.getCustInfo
}
},
子组件接收
inject: ['getCustInfo'],
这里的getCustInfo也可以个是一个方法,返回一个函数
methods:{
getCustInfo(){
return this.custInfo; //custInfo是接口返回的数据
}
}
那么,子组件的接收应该这样
custInfo(){
return this.getCustInfo();
},
三、访问父、子组件----ref、
child
1、ref--在父组件中访问子组件
引用官网api:
尽管存在 prop 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件。为了达到这个目的,你可以通过 ref 这个 attribute 为子组件赋予一个 ID 引用。例如:
<base-input ref="usernameInput"></base-input>
现在在你已经定义了这个 ref 的组件里,你可以使用:
this.$refs.usernameInput
注意:refs。
2、父、子组件之间的访问
引用官网api:
指定已创建的实例之父实例,在两者之间建立父子关系。子实例可以用 this.children 数组中。
节制地使用 children - 它们的主要目的是作为访问组件的应急方法。更推荐用 props 和 events 实现父子组件通信
这里组件之间的访问,目前实战中用到的较少。按官网的话,就是不太建议使用。
作者:为光pig
链接:https://www.jianshu.com/p/46573a741c29
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
vue--三种组件中之间的传值的更多相关文章
- java Data、String、Long三种日期类型之间的相互转换
java Data.String.Long三种日期类型之间的相互转换 // date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss// ...
- 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题
基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...
- 简述在Vue脚手架中,组件以及父子组件(非父子组件)之间的传值
1.组件的定义 组成: template:包裹HTML模板片段(反映了数据与最终呈现给用户视图之间的映射关系) 只支持单个template标签: 支持lang配置多种模板语法: script:配置Vu ...
- vue常见的三种组件通讯—props,$refs,this.$emit
一.父组件--->子组件 props 1.特点:props是用于父组件向子组件传递数据信息(props是单向绑定的,即只能父组件向子组件传递,不能反向 2.用法:父组件中使用子组件时,绑定要传递 ...
- Vue组件中的父子传值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- java设计模式---三种工厂模式之间的区别
简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式.其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性. 本文是本人对这三种模式学习后的一个小结以及对他 ...
- vue(三)-父子组件通信
原因 : Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. props 父组件给子组件传递数据 props:作用是父组件给 ...
- ios学习网络------4 UIWebView以三种方式中的本地数据
UIWebView这是IOS内置的浏览器.能够浏览网页,打开文档 html/htm pdf docx txt等待格文档类型. safari浏览器是通过UIWebView制作. server将 ...
- 空数组在以下三种遍历中均不可更改:forEach、map和for...in
首先,我们要知道对于forEach.map和for...in三种遍历,在不是空数组的情况下,要想实现更改原数组的方法,代码如下: var list = [1,2,3,4]; var list1 = [ ...
随机推荐
- java基础---集合(2)
一. Set 集合 java.util.Set集合是Collection集合的子集合,与List集合平级.该集合中元素没有先后放入次序,且不允许重复. 存储的数据在底层数组中并非按照数组索引的顺序添加 ...
- VisualEffectGraph基础操作 --创建VEG项目步骤讲解
一:建立VEG项目步骤 首先打开Unity Hub, 使用unity2020.1 新建项目(本技术博客,默认使用unity2020.1 版本演示),选择HDRP 高清渲染管线,确定项目目录与名称. ...
- Python+Requests+Xpath(解析)爬取某站点简历图片(数据分析三)
1.环境安装 pip install lxml 2.解析原理 使用通用爬虫爬取网页数据 实例化etree对象,且将页面数据加载到该对象中 使用xpath函数结合xpath表达式进行标签定位和指定数据提 ...
- aria2+uget+chrome
1.安装aira2 sudo apt install aria2 2.安装及配置uget sudo apt install uget 编辑 -> 设置: 分类 -> 属性: 3.chrom ...
- Java-数组有关
1.复制数组 复制数组主要有三类方法: 1.使用循环语句逐个赋值数组元素 2.使用System类中的静态方法arraycopy 3.使用clone方法复制数组 对于2,详述如下: arraycopy( ...
- Guava - Map
创建Map 通常在创建map时使用new HashMap<>();的方法,guava提供了一个简洁的方法 Maps.newHashMap(); List转换Map List<Solu ...
- IDEA如何导出war包
网上有很多关于IDEA导出war包的教程,然而很多照着一步步操作以后,war包并不能在对应目录中找到.参考网上一篇博文,发现其方法描述比较详细且经验证有效. 完整流程如下: 首先点击这里进入项目的配置 ...
- [考试总结]noip模拟23
因为考试过多,所以学校的博客就暂时咕掉了,放到家里来写 不过话说,vscode的markdown编辑器还是真的很好用 先把 \(noip\) 模拟 \(23\) 的总结写了吧.. 俗话说:" ...
- Gateway网关匹配规则
Gateway匹配规则 重要概念 路由 route 断言 predicate 过滤器 fliter 一.时间匹配 在 after 时间之后的所有请求转发到 URI中的地址 gateway: disco ...
- DC-2 靶机渗透测试
DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...