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

vue3 组件通信 --- useAttrs()

useAttrs() 实现父传子,该方法可以将父组件中子组件标签身上的属性和属性值传递给子组件内部,且可以获取自定义事件

Parent.vue

<template>
  <div>我是父组件</div>
  <hr />
  <Child title="hello" data="123" @abc="handler" color="red"></Child>
</template>

<script setup>
import Child from "./Child.vue";

const handler = () => {
  alert(666);
};
</script>

Child.vue

<template>
  <div>
    <h1 :title="title">我是子组件的内容</h1>
    <button v-bind="$attrs" :style="`color: ${$attrs.color}`" @click="$attrs.onAbc()">
      我是子组件的按钮
    </button>
  </div>
</template>

<script setup>
// useAttrs 可以获取标签身上的属性与属性值,还可以获取自定义事件
// 如果使用 defineProps 拿到属性,那么使用 $attrs 就获取不到该属性了,defineProps 比 $attrs 优先级高
import { useAttrs } from "vue";

const $attrs = useAttrs();
// 使用 defineProps 此时 $attrs 里没有 title 属性了
defineProps(['title'])
</script>

 因为 title 被 defineProps 接收了,所以这里 $attrs 已经没有了。

 

总结:useAttrs() 返回一个 Proxy 对象,内容为子组件标签身上的属性和方法。


http://www.kler.cn/a/391941.html

相关文章:

  • CentOS 服务
  • request爬虫库的小坑
  • 以色列支付龙头遭DDoS攻击,各地超市加油站等POS机瘫痪
  • 【贪心算法】No.1---贪心算法(1)
  • 信捷 PLC C语言 POU 指示灯交替灭0.5秒亮0.5秒(保持型定时器)
  • 智能零售柜商品识别
  • 计算机毕业设计Python+Neo4j中华古诗词可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析 PyTorch Tensorflow LSTM
  • 测试实项中的偶必现难测bug--<pre>标签问题
  • [面试]关于Redis 的持久化你了解吗
  • 中华活页文选(传统文化教学与研究)简介及期刊点评
  • 蓝队技术学习
  • 网络技术-OVS的ovs-ofctl add-flow 命令新增流表
  • Docker 的安装与使用
  • 什么是Python模块化编程
  • go map 映射
  • c++之deque和priority_queue
  • Python注意力机制Attention下CNN-LSTM-ARIMA混合模型预测中国银行股票价格|附数据代码...
  • python cachetools 快速入门
  • RPA 机器人流程自动化
  • vue2的uniapp添加用户登录校验
  • 政企学习考试系统(源码+文档+部署+讲解)
  • HarmonyOS应用之低代码开发平台
  • Docker Compose 从入门到实战:构建现代化应用栈
  • 智能病历xml提取
  • [实用小代码java]-如何将对象存储服务器上的文件下载到客户端
  • 书生浦语XTuner 微调个人小助手