vue3 useAttrs的使用场景,提取共有props

1 场景

多个类似组件都需要传参data,用于请求接口或者处理数据,想让组件干净整洁,把参数data提出来

2 方法

选项式

可以使用mixin混入或者extends继承(略)

组合式

可以使用hook

无脑式踩坑(如下代码):

// hook

import { defineProps } from 'vue';
import service from '@/utils/index';export default function useData() {const props = defineProps({data: {type: Object,default: () => ({name: '一二三',value: 123,url:''})}});console.log(props.data);const data = ref();onBeforeMount(async () => {data.value = await service(props.data.url);});return data;
}

// component

<template><!--省略 -->
</template>
<script setup lang="ts">
import useData from '@/hook/useData';const data = useData();

当在组件中引用hook后,控制台会警告,同时组件无法渲染

在这里插入图片描述

解决方案:useAttrs

// hook

import service from '@/utils/index';export default function useData() {const attrs = useAttrs();const data = ref();// 如需监听attrs变化,可以使用watchwatch(()=>attrs.data,(val)=>{getData()     },{deep:true})  onBeforeMount(async () => {await getData() });const getData = async () => {data.value = await service(attrs.data.url);}return data;
}

// component

<template><!--省略 -->
</template>
<script setup lang="ts">
import useData from '@/hook/useData';const data = useData();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW在设备状态监测与故障诊断中的应用

在现代工业自动化领域&#xff0c;LabVIEW的系统设计平台在设备状态监测与故障诊断中扮演着举足轻重的角色。通过提供一个可视化和数据流编程语言&#xff0c;LabVIEW大大提升了设备安全监测的效率&#xff0c;减少了系统维护成本&#xff0c;同时增强了设备的可靠性和可维护性…

Verilog 高级教程笔记——持续更新中

Verilog advanced tutorial 转换函数 调用系统任务任务描述int_val $rtoi( real_val ) ;实数 real_val 转换为整数 int_val 例如 3.14 -> 3real_val $itor( int_val ) ;整数 int_vla 转换为实数 real_val 例如 3 -> 3.0vec_val $realtobits( real_val ) ;实数转换为…

Yolov5水果分类识别+pyqt交互式界面(附代码)

本文介绍了基于Yolov5模型的水果分类识别系统以及使用PyQt库构建的交互式界面。 首先&#xff0c;Yolov5是一种目标检测算法&#xff0c;它可以通过输入图片&#xff0c;自动识别出其中包含的不同目标&#xff0c;并标注出它们的位置和类别。我们利用Yolov5模型对水果图片进行…

【算法Hot100系列】有效的数独

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

6款实用的Git可视化管理工具

前言 俗话说得好“工欲善其事&#xff0c;必先利其器”&#xff0c;合理的选择和使用可视化的管理工具可以降低技术入门和使用门槛。我们在团队开发中统一某个开发工具能够降低沟通成本&#xff0c;提高协作效率。今天给大家分享6款实用的Git可视化管理工具。 Git是什么&…

01-连接池项目背景:C++的数据库操作

从0开始学习C与数据库的联动 1.原始方式-使用MySQL Connector/C 提供的API查询 1.1 数据库预操作 我的本地电脑上有mysql数据库&#xff0c;里面预先创建了一个database名叫chat&#xff0c;用户名root&#xff0c;密码password。 1.2 Visual Studio预操作 在Windows上使用…

openGauss学习笔记-189 openGauss 数据库运维-常见故障定位案例-TPCC-WAL-内存

文章目录 openGauss学习笔记-189 openGauss 数据库运维-常见故障定位案例-TPCC-WAL-内存189.1 TPCC运行时&#xff0c;注入磁盘满故障&#xff0c;TPCC卡住的问题189.1.1 问题现象189.1.2 原因分析189.1.3 处理分析 189.2 备机处于need repair(WAL)状态问题189.2.1问题现象189.…

1876_电感的特性小结

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1876_电感的特性小结 主要是…

何小鹏的「超级爆品」X9诞生背后

作者 |张祥威 编辑 |德新 小鹏汽车将X9的上市日期定在了2024年的第一天&#xff0c;也是元旦假期的最后一天。 内部选择这天上市发布&#xff0c;据HiEV了解&#xff0c;这既包含了X9要争夺纯电MPV品类销冠的寓意&#xff08;No.1&#xff09;&#xff0c;也是告诉内外部&…

加密钱包监控:守护企业资产与信誉的利器

作者&#xff1a;stellafootprint.network 随着加密资产的崛起&#xff0c;企业正在面临前所未有的监管和信誉风险。那么&#xff0c;如何才能有效掌握加密钱包的交互情况&#xff0c;以维护企业与监管机构的和谐关系呢&#xff1f; 借助强大的钱包画像分析工具&#xff0c;合…

软件测试|MySQL算术运算符使用详解

简介 MySQL是一种流行的开源关系型数据库管理系统&#xff0c;广泛用于各种应用程序和网站的数据存储和管理。在MySQL中&#xff0c;算术运算符是执行数学计算的特殊符号&#xff0c;用于处理数字类型的数据。本文将详细介绍MySQL中常用的算术运算符及其使用方法。 常用算术运…

qt初入门2:qt选择一个文件或者目录,获取当前目录,操作文件目录等整理

最近用qt操作文件或者目录的动作比较多&#xff0c;简单整理一下常用的接口&#xff0c;方便回顾。 总的来说&#xff0c;其实就是用文件选择对话框QFileDialog类&#xff0c;以及操作文件信息的QFileInfo类&#xff0c;以及相关QCoreApplication中静态成员函数获取一些信息&a…

docker部署kibana

1&#xff0c;简介 官网 kibana 2&#xff0c;安装docker 参考 linux安装docker 3&#xff0c;准备 Kibana 配置文件 # 进入主节点配置文件目录 cd /export/server/docker/kibana/config # 编辑单机版配置文件 vi kibana.ymlkibana.yml内容 # 主机地址&#xff0c;可以是…

Java后端返回的MySQL日期数据在前端格式错误的解决方法,区分jackson和fastjson

写在前面 在写web项目的时候经常会遇到后端返回的MySQL日期数据(date)类型在前端显示不正确的情况&#xff0c;有的时候会出现一串数字的时间戳&#xff0c;有的时候显示为日期晚了一天。 这是因Json给前端返回数据的时候格式问题造成的 解决方法 其实总结起来就是一句话在…

大模型笔记【2】 LLM in Flash

Apple最近发表了一篇文章&#xff0c;可以在iphone, MAC 上运行大模型&#xff1a;【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。 主要解决的问题是在DRAM中无法存放完整的模型和计算&#xff0c;但是Flash Memory可以存放完整的模型。…

代码训练营Day.28 | 93. 复原IP地址、78. 子集、90. 子集II

93. 复原IP地址 1. LeetCode链接 . - 力扣&#xff08;LeetCode&#xff09; 2. 题目描述 3. 解法 字符串切四刀&#xff0c;最后一刀必须是在末位。 麻烦的地方在于文本的各种限制条件、剪枝等等。 class Solution { public:vector<string> results;string result…

最优化理论复习--最优性条件(二)

文章目录 上一篇约束极值问题的最优性条件基本概念一般情况的约束类型最优化条件 上一篇 最优化理论分析复习–最优性条件&#xff08;一&#xff09; 约束极值问题的最优性条件 基本概念 凸规划 m i n f ( x ) min f(x) minf(x) s . t . { g i ( x ) ≥ 0 &#xff0c; …

Android Matrix (二)具体图形变换参数的获取

Android Matrix &#xff08;二&#xff09;具体图形变换参数的获取 Matrix 类在 Android 中用于表示 3x3 的变换矩阵。这个矩阵可以应用于画布&#xff08;Canvas&#xff09;&#xff0c;视图&#xff08;View&#xff09;或者位图&#xff08;Bitmap&#xff09;&#xff0…

服务器日常维护要素,应该如何做好维护

维护服务器的目的是为了让服务器的性能保持最佳状态&#xff0c;发现问题及时解决&#xff0c;没有问题也可以对相关的应用和配置进行调优。但也有很多用户疑问&#xff0c;服务器具体会有哪些方面需要维护的&#xff0c;今天就一起来看看吧。 服务器日常维护&#xff0c;主要包…

Python基础入门第九课笔记(文件和文件夹)

1&#xff0c;新建文本并且写内容 a open(1.text,w) a.write("""aaa bbb ccc""") a.close() 2,seek( )移动文件指针 文件对象.seek(偏移量&#xff0c;起始位置) # 起始位置&#xff1a;0开头&#xff0c;1当前位置&#xff0c;2文件结尾…