当前位置: 首页 > news >正文

Vue跨级通信(重点)

当不使用Vuex的前提下,子孙传递就得使用另外一种办法:

provide 和 inject

总结:

provide / inject 类似于消息的订阅和发布。

- inject接收数据。

- provide提供或发送数据,

(1)provide(name,value):函数接收两个参数

name:定义提供 property的name。 value:property的值。

(2)inject(name,default)函数有两个参数

name:接收 provide 提供的属性名。

default:设置默认值,可以不写,是可选参数

示例:

A组件:

<template><div><h3>A组件</h3><input type="text" v-model="word"><br><hr><brother></brother><br></div>
</template><script>
import brother from '../test/brother.vue'
export default {components:{brother,},data(){return{word:'123'}},provide:function(){return {Message:()=>this.word}}
}
</script><style></style>

注意

在这里须注意的是,当祖先传入给子孙的是一个对象,则provide返回的是一个对象;当祖先传入的不是一个对象时,则provide返回的是一个函数。

B组件:

<template><div>C组件:{{ getFather }}{{ mes }}</div>
</template><script>
export default {data(){return {mes:''}},inject:['Message'],computed:{getFather(){return this.Message()}}
}
</script><style></style>

注意:

子孙组件通过inject进行接收,然后通过computed属性将接收到的值返回。这里不一定使用computed属性,其他属性也可以,因为inject里面的数据即为祖先组件传递的值。

http://www.lryc.cn/news/17564.html

相关文章:

  • 支付系统中的设计模式07:责任链模式
  • 期末综合考试
  • 数据结构与算法之爬楼梯动态规划
  • CleanMyMac4.12最新Mac电脑系统垃圾清理神器
  • 数据治理如何做?火山引擎 DataLeap 帮助这款产品 3 个月降低计算成本 20%
  • 求职3个月,简历大多都石沉大海,一听是手工测试都纷纷摇头....太难了
  • Visual Studio快捷键汇总
  • ctf pwn基础-2
  • 从一个SQL打印全年日历漫谈数据仓库中时间操作场景的重点写法
  • Java跳槽涨薪之路-想学Java的赶紧上车了
  • MyBatis解析全局配置文件
  • 37-Golang中的封装
  • Python Pytorch开发环境搭建(Windows和Ubuntu)
  • 多种方法进行去基线处理
  • 二叉树——最大二叉树
  • 【Redis】Redis 的过期策略以及内存淘汰机制详解
  • 边缘云是什么?
  • Java常用数据结构
  • 【Java基础 下】 026 -- 集合进阶(不可变集合、Stream流、方法引用)
  • SAP 跨工厂或特定工厂的物料状态设置
  • jupyter的安装步骤
  • Optional使用详解
  • 如何实现文件高速传输,推荐镭速高速文件传输解决方案
  • SpringBoot整合Mybatis+人大金仓(kingbase8)
  • TPM 2.0实例探索2 —— LUKS磁盘加密(3)
  • 嵌入式Debian主机可接HDMI显示
  • 驱动程序开发:基于ICM20608六轴传感器 --- 使用Regmap API 的 SPI 读取数据 之 IIO驱动
  • 专利撰写 为什么要申请专利 申请专利对个人有什么利益关系 专利申请实例 如何申请专利 专利申请办理流程
  • yolov5/6/7系列模型训练日志结果数据对比分析可视化
  • ppppp2-23