当前位置:网站首页>$parent/$children 与 ref
$parent/$children 与 ref
2022-07-31 03:19:00 【大象与小蚂蚁的生活】
- ref:如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例
- $parent / $children:访问父 / 子实例
需要注意的是:这两种都是直接得到组件实例,使用后可以直接调用组件的方法或访问数据。我们先来看个用 ref 来访问组件的例子:
// component-a 子组件
export default {
data () {
return {
title: 'Vue.js'
}
},
methods: {
sayHello () {
window.alert('Hello');
}
}
}
// 父组件
<template>
<component-a ref="comA"></component-a>
</template>
<script>
export default {
mounted () {
const comA = this.$refs.comA;
console.log(comA.title); // Vue.js
comA.sayHello(); // 弹窗
}
}
</script>
不过,这两种方法的弊端是,无法在跨级或兄弟间通信。
// parent.vue
<component-a></component-a>
<component-b></component-b>
<component-b></component-b>
我们想在 component-a 中,访问到引用它的页面中(这里就是 parent.vue)的两个 component-b 组件,那这种情况下,就得配置额外的插件或工具了,比如 Vuex 和 Bus 的解决方案。
总结
常见使用场景可以分为三类:
1.父子通信:
父向子传递数据是通过 props,
子向父是通过 events($emit);
通过父链 / 子链也可以通信($parent/$children);
ref 也可以访问组件实例;
provide/inject API;$attrs/$listeners
2.兄弟通信:
Bus;Vuex
3.跨级通信:
Bus;Vuex;provide/inject API、$attrs/$listeners
边栏推荐
- 解析小结—自用
- 安全20220709
- STM32问题合集
- SQL injection Less46 (injection after order by + rand() Boolean blind injection)
- CloudCompare & PCL calculate the degree of overlap between two point clouds
- Mysql 45 study notes (23) How does MYSQL ensure that data is not lost
- LeetCode简单题之找到和最大的长度为 K 的子序列
- SIP协议标准和实现机制
- [Compilation principle] Design principle and implementation of recursive descent parsing
- Problems that need to be solved in distributed system architecture
猜你喜欢
随机推荐
The distance value between two arrays of LeetCode simple questions
SQL injection Less54 (limited number of SQL injection + union injection)
Several common errors when using MP
7年经验,功能测试工程师该如何一步步提升自己的能力呢?
SQL injection Less47 (error injection) and Less49 (time blind injection)
WebSocket Session为null
Point Cloud DBSCAN Clustering (MATLAB, not built-in function)
Compile Hudi
Mysql 45 study notes (twenty-five) MYSQL guarantees high availability
SocialFi 何以成就 Web3 去中心化社交未来
A brief introduction to the CheckBox component of the basic components of Flutter
华为分布式存储FusionStorage知识点总结【面试篇】
【AUTOSAR-RTE】-5-Explicit(显式)和Implicit(隐式) Sender-Receiver communication
浅识Flutter 基本组件之showDatePicker方法
MultipartFile文件上传
Graphical lower_bound & upper_bound
Select the smoke test case, and make the first pass for the product package entering QA
Mysql 45讲学习笔记(二十四)MYSQL主从一致
TCP详解(二)
Modbus on AT32 MCUs









![Installation of mysql5.7.37 under CentOS7 [perfect solution]](/img/ef/a89d8bfd09377dc30034bad99dfd07.png)