Vue3_2024_3天【Vue3组合式API~响应式及toRefs】

第一:vue3 中可以两个script标签

第一个:声明组件名
第二个:setup语法糖(默认 lang语言是js语言,修改语言须保持一致)在这里插入图片描述
若想去掉一个script标签(声明组件名称),则可使用插件!
使用步骤:
1.下载【npm i vite-plugin-vue-setup-extend -D】
2.vite.config.ts中引入插件配置,
3. 在组件script setup 后面, 追加name即可 ,例如: <script lant=‘ts’ setup name=‘greg_01’ …

第二:Vue3组合式setup语法糖
1.概念

将属性、方法、计算属性、监听器(统称-组合式api)都写到setup中,,现比在vue2中直接使用原生setup函数,语法糖避免将属性、方法。。。return出去;

2.setup中数据的响应式(ref与reactive)
2.1 ref【基本数据类型和引用数据类型】

前面说过了,ref包裹的基本数据类型和引用数据类型的值,从而达到响应式效果;
(注意:ref在template可直接使用属性值,在js逻辑层面需要.value去拿,并且console打印被包裹类型为,,,ref(value:‘…’))注:若怕使用rer包裹获取值,忘记.value,也可以使用volar插件自动添加.value(vscode插件),好处:系统帮你判断,帮你加上,同时自己别太依赖,自己要知道!

2.2 reactive【引用数据类型】

reactive重新分配一个新对象,会失去响应式(可以使用Object.assign去整体替换)。【前面文章说过了,省略】

2.3 ref与reactive使用场景

若需要一个基本类型的响应式数据,必须使用ref。
若需要一个响应式对象,层级不深,ref、reactive都可以。
若需要一个响应式对象,且层级较深,推荐使用reactive。

第三 :【toRefs 与 toRef】

作用:将一个响应式对象中的每一个属性,转换为ref对象。
备注:toRefs与toRef功能一致,但toRefs可以批量转换。【如下图代码】
在这里插入图片描述

图片代码:

<template>
  <div style="display: flex;justify-content: space-between;background-color: #eeeeee;">
    <div>火警求救电话:{{phone}}</div>
  <div>姓名:{{name}}</div>
  </div>
  <div>
    <div>时间:{{helpInfo.time}}</div>
    <div>地点:{{helpInfo.local}}</div>
    <div>被困人数:{{helpInfo.peopleNumber}}</div>
  </div>
</template>

<!--这个script的作用:单纯声明这个组件名字:name='Greg_03'、且默认lang='js',若声明ts语言,则另一个标签于其对应!-->
<script lang="ts">
export default {
    name:'Greg_03',
}
</script>

<!--这个script的作用就是:vue3语法糖setup使用、且不要尝试与上面script标签合并成一个!-->
<script setup lang="ts">
import {reactive, toRef, toRefs} from 'vue';
let phone='119';
let name='少秋';

//直接在template上使用helpInfo响应式对象,
let helpInfo=reactive({id:'2223334444',time:'Sun Mar 03 2024 14:38:49 GMT+0800 (GMT+08:00)',local:'上海浦东世纪公园执法局二楼',peopleNumber:6});

//【(对象所有属性解构)直接从reactive响应式对象中解构】将reactive响应式对象,赋值给解构!(*何为~”解构赋值“,简单说是将原有对象里的数据拿出来,给到新的变量,并不会创建新对象---‘提取数据,赋值新变量’)
//1种:直接解构(不做任何处理)出来属性无法拥有响应式!
// let {time,local,peopleNumber}=helpInfo;//所以:这里左边解构,右边响应式对象,单纯从响应式对象中拿取数据,赋值给新变量,仅此而已!所以解构得原对象数据,得不到原对象的响应式效果!
//2种:将reactive响应式对象~~转成ref对象,然后达到解构出来属性也拥有响应式效果,
let {time,local,peopleNumber}=toRefs(helpInfo);//解构出来属性,拥有响应式,与helpInfo响应式对象逐个对应!(两个对象中,任何一方某个属性改变,另一个对象中属性随之改变)

//【(对象单个属性解构)】了解即可  (单个属性解构,其实可省略花括号)
let {id}=toRef(helpInfo,'id');//效果也是与响应式对象helpInfo里的id属性,互相关联,响应!

</script>


<style>

</style>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端- 基础 表单标签 - 使用场景及组成

大家都有到银行去办理业务的时候&#xff0c;大多数情况下会填一些 纸质的表之类的东西如下图 而我们在网页中也会经常遇到 像现实生活中在银行填表那样的情景&#xff0c;如下图 &#xff1a; 上示就是 网页中的表单的使用场景了 表单标签 &#xff1a; 为什么需要表单 …

GIS开发应用于哪些领域?就业方向有哪些?分别需要什么技能?

本文适用于GIS专业相关的大二、大三、大四的同学以及部分在职GIS工作者。在这里你将看到&#xff1a; 1、GIS领域可以从事的岗位有哪些&#xff0c;分别需要什么技能&#xff1f; 2、如何选择最合适自己的发展方向&#xff1f; 一、地理信息行业岗位简述 ▶ 上游数据部分 …

Python CGI编程

文章目录 什么是CGICGI架构Web服务器支持及配置CGI程序示例CGI环境变量GET和POST方法GET方法POST方法区别注意事项 使用POST方法传递数据1. 创建HTML表单2. 编写CGI脚本3. 配置服务器4. 提交表单5. 服务器处理请求注意事项 通过CGI程序传递checkbox数据创建HTML表单编写CGI脚本…

EMO: Emote Portrait Alive - 阿里HumanAIGC

EMO: Emote Portrait Alive - 阿里HumanAIGC 最近这一个星期&#xff0c;也就是2月28日的时候&#xff0c;阿里巴巴的HumanAIGC团队发布了一款全新的生成式AI模型EMO&#xff08;Emote Portrait Alive&#xff09;。EMO仅需一张人物肖像照片和音频&#xff0c;就可以让照片中的…

抖音视频评论采集工具|短视频批量下载软件

《抖音视频评论采集工具——解放双手的智能助手》 在数字化时代&#xff0c;抖音视频已成为人们获取信息、娱乐放松的重要来源之一。针对抖音视频评论的采集需求&#xff0c;我们推出了一款功能强大的软件&#xff0c;让您轻松实现评论批量提取&#xff0c;QQ:290615413提高工作…

mirthConnect忽略HTTPS SSL验证

mirthConnect SSL忽略验证 1、下载https网站证书 点击不安全---->证书无效 2、查看mirth 秘钥库口令 在mirthConnect 的conf目录下面keystore.storepass 3、导入证书到本地 在jdk的bin目录下面执行 keytool -importcert -file "下载的网站证书路径" -keysto…

win11修改网络算法为BBR2_提升网络环境质量

Win11 BBR2 是Google开发的一种高效的网络拥塞控制算法&#xff0c;玩 Linux 的朋友应该对它还有锐速不陌生。相比Windows默认使用的 CUBIC 算法&#xff0c;BBR2 在网络吞吐量、延迟、全局性能等方面都有一定优势。 如果你日常网络经常丢包或者高延迟可以尝试切换为BBR2算法。…

基于SpringBoot的在线拍卖系统(附项目源码+论文)

摘要 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、留言板管理、系统管理&#xff0c;用户&#xff1b;首页、个人中心、历史竞拍管理、竞拍订单管理、留言板管理&#xff0…

Nucleic Acids Research | scATAC-seq+CUTTag探究关键转录因子对视网膜细胞分化的调控作用

在中枢神经系统发育过程中&#xff0c;多能神经祖细胞如何产生不同的神经细胞类型仍然知之甚少。最近的scRNA-seq研究已经描绘了包括神经视网膜在内的许多神经系统中单个神经细胞类型的发育轨迹。进一步了解神经细胞多样性的形成需要了解表观遗传景观如何沿着个体细胞谱系变化以…

智慧草莓基地:Java与SpringBoot的技术革新

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

EthSign联合创始人 POTTER LI 确认出席Hack .Summit() 香港区块链开发者大会!

thSign联合创始人 POTTER LI确认将出席由 Hack VC 主办&#xff0c;并由 AltLayer 和 Berachain 联合主办&#xff0c;与 SNZ 和数码港合作&#xff0c;由 Techub News 承办的Hack.Summit() 2024区块链开发者盛会。 Potter Li&#xff0c;南加州大学应有数学系&#xff0c;南加…

数字化转型导师坚鹏:金融机构数字化转型情况、政策及法规解读

金融机构数字化转型总体情况、政策及法规解读 课程背景&#xff1a; 很多学员存在以下问题&#xff1a; 不知道金融机构数字化转型总体情况&#xff1f; 不清楚金融机构数字化转型相关政策&#xff1f; 不知道金融机构数字化转型相关法规&#xff1f; 课程特色&#xf…

人工智能_大模型013_AIGC生成式模型的增强检索_RAG知识补充检索_补充私域和实时场景知识_关键字检索增强---人工智能工作笔记0149

什么是RAG,RAG的意思就是,如果一套生成式AIGC大模型,你昨天训练了以后,那么今天的知识,还没有给他进行训练,那么回答的时候,他就会遗漏今天的知识,那么我们就可以通过检索的手段,把今天的知识,检索出来,然后补充道prompt中,给这个大模型.让他参考,这样就包含了今天的知识相当于…

【Java EE初阶二十八】简单的博客系统

1. 博客系统的基本情况 1.1 四个页面 1.博客列表页&#xff1a;显示出当前网站上都有哪些博客 2.博客详情页&#xff1a;点击列表上的某个博客,就能进入对应详情页,(显示出博客的具体内容) 3.博客编辑页&#xff1a;让用户编写博客内容,并且发送到服务器 4. 博客系统登录页 总…

Eclipse也可以轻松创建JSP动态Web项目 绿色、免费、神器、就是好用一大截!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起学习和进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&a…

STM32CubeMX PID差速循迹小车

在之前TB6612驱动中&#xff0c;主要实现了固定速度下小车的循迹&#xff0c;在车身偏转使用默认的速度进行纠偏&#xff0c;使车身恢复正常状态。接线图和之前TB6612一样STM32Cubemx TB6612直流电机驱动-CSDN博客。 今天要做的是&#xff0c;两路循迹判断车身偏的情况下&…

好书推荐 《Excel函数与公式应用大全for Excel 365 Excel 2021》

一.基本介绍 1.什么是 Excel? Excel 是微软公司开发的一款电子表格软件&#xff0c;是 Microsoft Office 套件的一部分。它被广泛用于数据处理、分析、可视化和管理等方面。Excel 提供了丰富的功能&#xff0c;使用户能够创建、编辑、存储和分享各种类型的数据表格。 2.Exc…

C++——String(1)

目录 1. 为什么学习string类&#xff1f; 1.1 C语言中的字符串 1.2 相关题目 2. 标准库中的string类 2.1 string类&#xff08;了解一下&#xff09; 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的容量操作 3. string类对象的访问及遍历操作…

llm llama GPU 内存/显存计算

Calculating GPU memory for serving LLMs | Substratus.AI

Deeplearning4j【基础 01】初识Java深度学习框架DL4J

初识Java深度学习框架DL4J 1.起因2.简介3.组件3.1 Deeplearning4j/ScalNet3.1.1 Deeplearning4jf&#xff08;Java&#xff09;3.1.2 ScalNet&#xff08;Scala&#xff09; 3.2 ND4J/LibND4J3.3 SameDiff3.4 DataVec3.5 Arbiter3.6 RL4J 4.总结 内容来自网络&#xff0c;基于官…