组件通信和keep-alive的理解

组件通信

  1. 父传子:父组件给子组件绑定一个属性,子组件使用props接收

  2. 子传父:父组件给子组件绑定一个事件,子组件使用$emit去调用事件函数

  3. 兄弟:所有的子组件通过同一个父组件进行数据的交换

  4. .sync 伪数据双向绑定 属性修饰符,子组件使用固定语法调用this.$emit('update:xx',val)

  5. v-model 数据双向绑定 会向子组件注入一个value属性和input事件

  6. $root 获取根实例对象 $parent获取直接父组件实例对象 $children直接子组件实例集合 $refs获取子组件实例对象

  7. eventBus 中央事件池,基于new了一个vue实例对象

  8. 高级用法

  • $attrs 向后代传递除了样式之外的所有属性

  • $listeners 向后代传递函数

  1. 大型的数据共享:vuex

内置组件

component 动态加载组件-动态组件

  1. 这个组件必须要有一个is属性,用来加载对应的组件名称

  2. 为了满足需要大量手写自定义组件的场景,实现tab选项卡。

keep-alive 缓存组件-缓存组件的状态

  1. 把组件的所有被改变的状态都会存储起来。

  2. 组件属性:exclude 把不想被缓存的组件名字写入,该组件就不会被缓存了

  3. 组件属性:include 只缓存被包含的组件,其他不写入的组件名字的组件则不会被缓存

slot 插槽

  1. 匿名插槽,无论组件的内部被插入任何内容,都会被slot标签接收,常用于纯静态的可复用的dom结构中

  2. 具名插槽,父组件使用template标签使用v-slot:name 加名字,插槽组件使用slot标签的name属性接收

  3. 作用域插槽,父组件在template标签使用v-slot:name='接收值' 子组件在slot标签上绑定属性传参

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pinia-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值