在vue中不同组件通信方式

1.父子组件,通过prop
2.非父子组件,通过vuex或根vue转载器
一般是以上两种情况,但是还有一种比较特殊的情况,即孙子组件或更深层次的组件通信
parent.vue

<template>
	<div class="test">
		<son prop="data"></son>
	</div>
</template>
<template>
	<div>
		<grandson prop="data"></grandson>
	</div>
</template>
 
<script>
export default {
	name: 'Son',
	props: ['data'],
}
</script>
上述如果父组件需要与grandson通信,除了vuex,必须先与son组件通信,再由son与grandson通信,在层级少的情况下没有问题,但是层级一旦多起来就很可怕了
那么这种情况下就用到了provide / inject
<template>
	<div class="parent">
		<son prop="data"></son>
	</div>
</template>
 
<script>
export default {
	name: 'Parent',
	provide: {
		name: 'Garrett'
	}
}
Grandson.vue(孙子组件);组件关系是父组件-子组件-孙子组件

<template>
	<div>
		{
  {name}}
	</div>
</template>
 
<script>
export default {
	name: 'Grandson',
	inject: [name]//通过inject直接访问其两个层级上的数据,其用法与props完全相同,同样可以参数校验等
}
</script>
缺点是在任意层级都能访问导致数据追踪比较困难,不知道是哪一个层级声明了这个或者不知道哪一层级或若干个层级使用了,因此这个属性通常并不建议使用;能用vuex的使用vuex,不能用的多传参几层,但是在做组件库开发时,不对vuex进行依赖且不知道用户使用环境的情况下可以很好的使用

相关推荐

  1. vue不同组件通信方式

    2024-01-24 22:56:03       54 阅读
  2. Vue组件通信方式

    2024-01-24 22:56:03       20 阅读
  3. 解释Vue组件通信方式及其适用场景。

    2024-01-24 22:56:03       58 阅读
  4. Vue组件通信方式及应用场景

    2024-01-24 22:56:03       61 阅读
  5. vue组件之间的通信方式有多少种

    2024-01-24 22:56:03       52 阅读
  6. VUE组件常用的通信方式有哪些?

    2024-01-24 22:56:03       44 阅读
  7. Vue和React常用的组件通信方式

    2024-01-24 22:56:03       20 阅读
  8. vue组件通信方式介绍

    2024-01-24 22:56:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-24 22:56:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-24 22:56:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-24 22:56:03       82 阅读
  4. Python语言-面向对象

    2024-01-24 22:56:03       91 阅读

热门阅读

  1. 前端react面试题:state和props有什么区别?

    2024-01-24 22:56:03       53 阅读
  2. XML 注入漏洞原理以及修复方法

    2024-01-24 22:56:03       57 阅读
  3. C语言-算法-拓扑排序

    2024-01-24 22:56:03       54 阅读
  4. 猜数字游戏(C语言代码)

    2024-01-24 22:56:03       43 阅读
  5. 模块化、系统化、功能化

    2024-01-24 22:56:03       58 阅读
  6. SpringCloud面经

    2024-01-24 22:56:03       40 阅读
  7. springboot切面获取参数转为实体对象

    2024-01-24 22:56:03       55 阅读
  8. 计算机网络常见故障种类及检查方法

    2024-01-24 22:56:03       38 阅读
  9. C语言使用了没定义的变量会有什么现象?

    2024-01-24 22:56:03       52 阅读
  10. c# 继承 new,base的使用

    2024-01-24 22:56:03       51 阅读