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

news2024/11/15 10:55:28
第一: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>

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

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

相关文章

八. 实战:CUDA-BEVFusion部署分析-学习CUDA-BEVFusion推理框架设计模式

目录 前言0. 简述1. 回顾一下RAII是什么2. 实现类&#xff0c;接口类与命名空间3. CUDA-BEVFusion设计框架(namespace)4. CUDA-BEVFusion设计框架(接口类)5. CUDA-BEVFusion设计框架(实现类)6. CUDA-BEVFusion设计框架(各个类负责的内容)7. CUDA-BEVFusion中的接口函数和实现类…

failed to connect to ‘127.0.0.1:58526‘: Connection refused

WSA使用体验 链接&#xff1a; 知乎-穿越时间一步到位&#xff0c;教你完美安装Windows 11 Android 安卓子系统 CPU不满足要求 明明是12700H&#xff0c;满足要求&#xff0c;但是应用商店说不满足&#xff0c;在设置&#xff08;注意不是控制面板的区域&#xff09;把地区改…

ChatGPT 4.0使用之论文阅读

文章目录 阅读环境准备打开AskYourPDF进入主站 粗读论文直接通过右侧边框进行提问选中文章内容翻译或概括插图的理解 总结 拥有了GPT4.0之后&#xff0c;最重要的就是学会如何充分发挥它的强大功能&#xff0c;不然一个月20美元的费用花费的可太心疼了&#xff08;家境贫寒&…

HTML~

HTML HTML是一门语言&#xff0c;所有的网页都是用HTML这门语言编写出来的HTML(HyperText Markup Language):超文本标记语言 超文本:超越了文本的限制&#xff0c;比普通文本更强大。除了文字信息&#xff0c;还可以定义图片、音频、视频等内容 标记语言:由标签构成的语言 …

谨用ArrayList中的subList方法

谨用ArrayList中的subList方法 规范一&#xff1a; ArrayList 的 subList 结果不可强转成 ArrayList&#xff0c;否则会抛出 ClassCastException 异常&#xff1a; public static void test7() {List<Integer> list new ArrayList<>();list.add(1);list.add(2);…

云服务器无法Ping通解决

问题: 使用公网IP地址PING云服务器,无法PING通 但是可SSH到服务器,表示通信链路是正常的,可能是端口或路径规则未开放导致 登陆云服务器后台,进行安全组规则查看,发现ICMP没有放行 添加允许ICMP连接规则 成功PING通云服务器

Linux文本处理三剑客:awk(结构化命令)

在Linux操作系统中&#xff0c;grep、sed、awk被称为文本操作“三剑客”&#xff0c;上几期中&#xff0c;我们详细介绍grep、sed、awk的基本使用方法&#xff0c;希望能够帮助到有需要的朋友。 目录 1、前言 2、条件控制语句 语法结构&#xff1a;IF 语法结构&#xff1a…

蓝桥杯练习题——前缀和

1.壁画 思路 1.求最坏情况下&#xff0c;画的墙总和是多少 2.画的墙在中间连续一段&#xff0c;画了的墙长度是 n / 2 向上取整 3.取最大的 n / 2 向上取整区间和 #include<iostream> using namespace std; const int N 5e6 10; char s[N]; int a[N]; int t, n;int m…

【RHEL】三分钟启动完整版vim——vim9 huge编译安装

详细安装步骤 一键安装传送门 Vim提供了许多快捷键和命令来加快文本编辑的速度和效率。它具有强大的搜索和替换功能&#xff0c;支持多种文件格式&#xff0c;可以通过插件扩展功能&#xff0c;并提供了强大的自动补全功能。   然而在大多数Linux操作系统中利用系统软件源安装…

【深度学习笔记】计算机视觉——锚框

锚框 目标检测算法通常会在输入图像中采样大量的区域&#xff0c;然后判断这些区域中是否包含我们感兴趣的目标&#xff0c;并调整区域边界从而更准确地预测目标的真实边界框&#xff08;ground-truth bounding box&#xff09;。 不同的模型使用的区域采样方法可能不同。 这里…

事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测

事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测 目录 事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测预测效果基本描述程序设计参考资料 预测效果 基本描述 Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测 运行环境: Matlab2023及以 上…

Nature 研究亮点(Volume 626 Issue 8001, 29 February 2024)

文章目录 激光雕刻肥皂膜卵细胞的回收系统巴斯克语的起源产后抑郁症的治疗 激光雕刻肥皂膜 研究者&#xff1a;Haitao Xu 和 Yu Zhao&#xff0c;清华大学&#xff0c;北京。 发现&#xff1a;在特定条件下&#xff0c;可以使用激光在肥皂膜上进行雕刻。肥皂膜由洗涤剂分子&am…

ElasticSearch DSL语法

一、文档批量操作 1.批量获取文档数据 批量获取文档数据是通过_mget的API来实现的 (1)在URL中不指定index和type 请求方式&#xff1a;GET 请求地址&#xff1a;_mget 功能说明 &#xff1a; 可以通过ID批量获取不同index和type的数据 请求参数&#xff1a; docs : 文档数…

Tomcat介绍在IDEA中创建JavaWeb工程

文章目录 一、WEB服务器服务器概述使用Java代码手写web服务器 二、服务器软件Web服务器服务器软件的使用步骤 三、TomcatTomcat的下载Tomcat的安装与卸载Tomcat的启动与关闭常见问题 四、新建Java Web项目并将项目部署到tomcat中新建Java Web项目将项目部署到Tomcat中出现的问题…

在你的 Vue + Electron 项目里,引入 ESLint

因为我的项目是基于 Electron 平台的 Web 应用&#xff0c;使用 Vue 3 实现&#xff0c;而且用了 TypeScript&#xff0c;所以&#xff0c;在引入 ESLint 的时候&#xff0c;要考虑好几种规范的问题。 文章目录 零、简介1. 规则2. 配置文件3. 共享配置4. 插件5. 解析器6. 自定义…

Unity 切换场景

场景切换前必须要将场景拖动到Build中 同步加载场景 using System.Collections; using System.Collections.Generic; //using UnityEditor.SearchService; using UnityEngine; // 场景管理 需要导入该类 using UnityEngine.SceneManagement;public class c3 : MonoBehaviour {…

你是否知道Python的列表翻转、排序和多维列表

1.reverse() 表示翻转列表中的元素&#xff0c;不会生成新列表 list1 [2343, 55, 4, 345, 676, 768] list1.reverse() print(list1) # [768, 676, 345, 4, 55, 2343] 2.sort() 对原列表元素进行排序&#xff0c;默认是升序 list1 [2343, 55, 4, 345, 676, 768] list1…

在Python中使用多线程(通俗版本)

一、多线程的介绍&#xff1a; 1.进程 通常一个进程包含一个或者多个线程&#xff0c;每个进程有自己独立的一块内存空间&#xff0c;所有的线程共享这一块空间&#xff0c;例如&#xff1a;在Windows操作系统中&#xff0c;一个运行的xx.exe就是一个进程。 2.线程 一个进程…

lua调用C++函数

第一步搭建lua的环境. win10 lua环境搭建-CSDN博客 我使用的环境是win10vs2015lua54 先来个最简单的lua调用C函数, 无参数无返回值的 第一步:定义C函数. int CTest(lua_State* L) // 返回值是固定的int类型,返回0表示没有返回参数,返回1表示有一个返回参数 {std::cout &l…

什么是支持向量机(Support vector machine)和其原理

作为机器学习的基础算法&#xff0c;SVM被反复提及&#xff0c;西瓜书、wiki都能查到详细介绍&#xff0c;但是总是觉得还差那么点&#xff0c;于是决定自己总结一下。 一、什么是SVM&#xff1f; 1、解决什么问题&#xff1f; SVM&#xff0c;最原始的版本是用于最简单的线…