Vue(14)——组合式API①
setup
特点:执行实际比beforeCreate还要早,并且获取不到this
<script>
export default{setup(){console.log('setup函数');},beforeCreate(){console.log('beforeCreate函数');}
}
</script>
在setup函数中提供的数据和方法,想要在模版当中利用,必须在函数最后使用return。
<script>
export default{setup(){const a = 'okk';const loga = ()=>{console.log(a);}console.log('setup函数');return{a,loga}},beforeCreate(){console.log('beforeCreate函数');},}
</script><template><div>{{ a }}</div>
</template>
当然有更简便的方法,setup语法糖。在script标签里面加上setup即可。
<script setup>
const a = 'okk'
const loga =() =>{console.log(a);}
</script>
reactive和ref
reactive
作用:接受对象类型数据的参数传入并返回一个响应式的对象
核心步骤:
- 从vue包中导入reactive函数
- 在<script setip>中执行reactive函数并传入类型为对象的初始值,并使用变量接收返回值
<script setup>
import { reactive } from 'vue';
const state = reactive({count:100
})
const add = ()=>{state.count++
}
</script><template><div><div>{{ state.count }}</div><button @click="add">+</button></div>
</template>
reactive只能接受对象类型的数据,也有可以接受简单类型的数据的函数
ref
作用:接收简单类型或者对象类型的数据传入并返回一个响应式对象
核心步骤:
- 从vue包导入ref函数
- 在<script setup>中执行ref函数并传入初始值,使用变量接收ref函数的返回值
注 : 在script中访问数据的时候需要通过.value,在template中不需要
<script setup>
import { ref } from 'vue';
const state = ref(0)
const add = ()=>{state.value++
}
</script><template><div><div>{{ state }}</div><button @click="add">+</button></div>
</template>
computed
核心步骤:
- 导入computed函数
- 执行函数在回调参数中return基于响应式数据做计算的值,用变量接收
<script setup>
import { computed, ref } from 'vue';const list = ref([1,2,3,4,5,6,7,8])
const com = computed(()=>{return list.value.filter(item=>item>2)
})
</script><template><div><div>原始数据:{{ list }}</div><div>计算后:{{ com }}</div></div>
</template>
watch
作用:侦听一个或多个数据的变化,数据变化时执行回调函数
两个参数:immediate(立即执行),deep(深度侦听)
监视单个数据的变化:
watch(ref对象,(newValue,oldValue) =>{...})
监视多个数据的变化:
watch([对象1,对象2],(newArr,oldArr)=>{...})
<script setup>
import { watch, ref } from 'vue';const count = ref(0)
const name = ref('张三')const change =() =>{count.value++
}
const changename=() =>{name.value='李四'
}
// 监视单个数据
// watch(count,(newValue,oldValue)=>{
// console.log(newValue,oldValue);
// })//监视多个数据watch([对象1,对象2],(newArr,oldArr)=>{...})
watch([count,name],(newArr,oldArr)=>{console.log(newArr,oldArr);} )
</script><template><div><div>{{ count }}</div><button @click="change">改数字</button><div>{{ name }}</div><button @click="changename">改名称</button></div>
</template>
immediate
说明:在侦听器创建时立刻触发回调,响应式数据变化之后继续执行回调
watch([count,name],(newArr,oldArr)=>{
console.log(newArr,oldArr);
},{
immediate:true
}
)
deep
默认watch进行的是浅层监视,可以监视简单类型,不能监视到复杂类型内部数据的变化。
deep是深度监视,能够监视到对象类型里面某个数据的变化
watch(userInfo,(newValue)=> {
console.log(newValue);
},{
deep:true
})
精确侦听对象的某个属性
watch(
() => userInfo.value.age,
(newValue,oldValue) => console.log(newValue,oldValue)
)
相关文章:
Vue(14)——组合式API①
setup 特点:执行实际比beforeCreate还要早,并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法,想要在…...
【图像检索】基于颜色模型的图像内容检索,matlab实现
博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于颜色模型的图像内容检索,用matlab实现。 一、案例背景和算法介绍 这…...
看过来——量子计算中一个神奇符号的解释
量子计算中一个神奇符号是 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 它代表什么呢, 往下看 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 通常在量子力学中表示 n次张量积的希尔伯特空间。 H \mathcal{H} H 表示一个希尔伯特空间,这是量子力学中描述量子态的空间&…...
传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】
(★★)代表非常重要的知识点,(★)代表重要的知识点。 一、TCP 流量控制(★★) 1. 利用滑动窗口实现流量控制 一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得…...
Java设计模式全面解析
23大设计模式(即软件设计中的24种常用设计模式)源自《设计模式:可复用面向对象软件的基础》一书,由四位作者(Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)提出,通常也被称为“Go…...
spring全家桶使用教程
Spring 全家桶是指围绕 Spring 框架构建的一系列子项目和工具,涵盖了企业级应用开发的多个方面,如依赖注入、数据访问、事务管理、Web 开发、消息队列、云服务等。通过 Spring 全家桶,开发者可以构建从简单的 Web 应用到复杂的微服务架构。 …...
REST-系统架构师(六十九)
1某公司内部的信息系统集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时候,接收系统会自动得到通知。另外还要支持数据重传,以确保传输的成功。针对这些需求,应该采用(&#x…...
SAP B1 营销单据 - 复制从复制到总结
背景 营销单据具有相似的表单结构,并且单据之间可互相复制,本文总结出各个单据可【复制从】与【复制到】的单据清单,并绘制流程图,表现理论上可完成的流程。 销售:销售报价单;销售订单;交货&am…...
css设置overflow:hiden行内元素会发生偏移的现象
父级元素包含几个行内元素 <div id"box"><p><span>按钮</span><span>测试文字文字文字测试文字文字文字</span><span>看这里</span></p></div>#box p{width: 800px;font-size: 30px;}#box p span{disp…...
使用多个 GitHub 账号的 SSH 配置与常见问题排查
文章目录 使用多个 GitHub 账号的 SSH 配置与常见问题排查摘要目录1. 使用多个 GitHub 账号的场景介绍2. 配置多个 SSH 密钥2.1 生成多个 SSH 密钥2.2 添加 SSH 密钥到 SSH 代理2.3 将 SSH 公钥添加到 GitHub 账户 3. 配置 SSH 代理与 GitHub 账户的关联3.1 为不同仓库设置不同…...
sql语法学习
学习 SQL(Structured Query Language)语法是数据库开发的基础,主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作,涵盖数据查询、插入、更新、删除等。 1. 数据库基础 数据库:存储表和数据的集合。表&am…...
滚雪球学SpringCloud[5.3讲]: 配置管理中的高可用与容错
全文目录: 前言高可用配置中心的搭建为什么需要高可用配置中心?多实例与负载均衡数据一致性实战示例:使用Nginx实现高可用配置中心 Spring Cloud Config中的高可用性高可用性的进一步优化 配置管理中的故障处理策略分布式系统中的常见故障故障…...
电商安全新挑战:筑起数字防御长城,守护业务与数据安全
在当今这个数字化时代,电商行业正以前所未有的速度发展,大数据、人工智能等技术的融入不仅重塑了消费模式,更激发了行业新的增长点。然而,这片繁荣景象之下,隐藏着一个不容忽视的暗流——网络安全威胁。从数据泄露到恶…...
Python 单元测试:深入理解与实战应用20240919
Python 单元测试:深入理解与实战应用 引言 在动态语言如 Python 中,代码的灵活性和动态特性使得开发效率大大提升,但也带来了潜在的风险:小的改动可能导致不可预见的功能失效。因此,确保代码逻辑的正确性和稳健性至关…...
二、MySQL环境搭建
文章目录 1. MySQL的卸载步骤1:停止MySQL服务步骤2:软件的卸载步骤3:残余文件的清理步骤4:清理注册表(选做)步骤5:删除环境变量配置 2. MySQL的下载、安装、配置2.1 MySQL的4大版本2.2 软件的下…...
mongoDB 读取数据python版本实现
要使用Python从MongoDB读取数据,你可以使用pymongo库。首先确保你已经安装了pymongo,如果没有安装,可以通过pip来安装它: pip install pymongo 接下来,我将展示如何使用给定的MongoDB连接字符串来连接数据库ÿ…...
java Nio的应用
Java NIO(New Input/Output)是Java 1.4引入的一种非阻塞I/O模型,适用于高性能和高并发的应用程序。以下是NIO的一些主要应用场景和特点: 1. 非阻塞I/O NIO支持非阻塞模式,这意味着线程可以在I/O操作进行时继续执行其…...
双十一有什么好物推荐?值得入手的五款产品
随着双十一狂欢的号角日益临近,这个一年一度的购物盛典即将拉开帷幕!为了让大家在海量的商品中精准定位,圆圆用心整理了一份购物清单,分享那些我亲身试用过,觉得超级值得购买的好物。 这些商品不但价格亲民࿰…...
Nuxt Kit 使用日志记录工具
title: Nuxt Kit 使用日志记录工具 date: 2024/9/23 updated: 2024/9/23 author: cmdragon excerpt: 摘要:本文介绍在Nuxt 3框架的Nuxt Kit中使用日志记录工具的方法,重点讲解useLogger函数的应用,通过创建示例项目一步步展示如何配置和使用日志记录功能来监控应用状态、…...
视频相关处理
1、概念 (1)FPS 是 “Frames Per Second” 的缩写,意思是“每秒帧数”。它表示每秒钟屏幕上显示的图像帧数,用来衡量动画、视频或游戏画面的流畅度。 FPS 越高,画面越流畅,通常来说,30 FPS 被认为是基本流畅,60 FPS 及以上则非常顺滑。FPS 过低 会导致画面卡顿,尤其是…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
