Vue - 怎么实现组件之间数据互传
父组件数据传给子组件
HTML结构 :
实现父传子
1. 通过 props 自定义属性
父级组件 : 要设置传进去的属性 ( message )
子组件 : 需要在子组件内用props自定义属性接收
// 子组件
export default {
name:'Children',props:['message']
}
使用的方法{{message}} ,v-bind
2. $attrs (可以代替props父传子) 子组件可以直接使用 ( $attrs.父级传递过来的属性值)
{{$attrs.message}}
props和$attrs的区别是什么 ?
1. props是父类向子类传递并且需要子类主动接收的属性
2. $attrs 默认是父类传递到字类根元素的属性,字类不用主动接收会直接放在子类根元素上
父组件如何操作子组件的元素?
**HTML结构 :**
1. ref $refs 可以直接获取到子类的元素和值
this.$refs.parent.'要操作的子级元素'
2. $children
this.$children[0].'要操作的子级元素'
区别
$refs可以直接获取到添加了ref属性的元素
$children 获取到的是所有子元素,但是(
子元素是无序的,不会保证顺序
)祖先和后代之间传值
由于嵌套层数过多,传递props不切实际,vue提供了
provide/inject API
来完成该任务provide/inject : 能够实现祖先给后代传值
provide 祖先
// 祖先提供
provide(){
return {属性名:'属性值'}
}
inject 后代
// 后代注入inject : ['属性名']
【Vue - 怎么实现组件之间数据互传】总结未完, 待续......
推荐阅读
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 七年之痒之后
- vue-cli|vue-cli 3.x vue.config.js 配置
- 开花店的前景怎么样()
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 私通和背叛,他怎么看(——晨读小记)
- 有句话忍很久了,女生要求买房怎么就物质了()