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

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

作用:接受对象类型数据的参数传入并返回一个响应式的对象

核心步骤:

  1. 从vue包中导入reactive函数
  2. 在<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

作用:接收简单类型或者对象类型的数据传入并返回一个响应式对象

核心步骤:

  1. 从vue包导入ref函数
  2. 在<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

核心步骤:

  1. 导入computed函数
  2. 执行函数在回调参数中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 特点&#xff1a;执行实际比beforeCreate还要早&#xff0c;并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法&#xff0c;想要在…...

【图像检索】基于颜色模型的图像内容检索,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于颜色模型的图像内容检索&#xff0c;用matlab实现。 一、案例背景和算法介绍 这…...

看过来——量子计算中一个神奇符号的解释

量子计算中一个神奇符号是 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 它代表什么呢&#xff0c; 往下看 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 通常在量子力学中表示 n次张量积的希尔伯特空间。 H \mathcal{H} H 表示一个希尔伯特空间&#xff0c;这是量子力学中描述量子态的空间&…...

传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、TCP 流量控制&#xff08;★★&#xff09; 1. 利用滑动窗口实现流量控制 一般说来&#xff0c;我们总是希望数据传输得更快一些。但如果发送方把数据发送得…...

Java设计模式全面解析

23大设计模式&#xff08;即软件设计中的24种常用设计模式&#xff09;源自《设计模式&#xff1a;可复用面向对象软件的基础》一书&#xff0c;由四位作者&#xff08;Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides&#xff09;提出&#xff0c;通常也被称为“Go…...

spring全家桶使用教程

Spring 全家桶是指围绕 Spring 框架构建的一系列子项目和工具&#xff0c;涵盖了企业级应用开发的多个方面&#xff0c;如依赖注入、数据访问、事务管理、Web 开发、消息队列、云服务等。通过 Spring 全家桶&#xff0c;开发者可以构建从简单的 Web 应用到复杂的微服务架构。 …...

REST-系统架构师(六十九)

1某公司内部的信息系统集成&#xff0c;需要实现在系统之间快速传递可定制格式的数据包&#xff0c;并且当有新的数据包到达时候&#xff0c;接收系统会自动得到通知。另外还要支持数据重传&#xff0c;以确保传输的成功。针对这些需求&#xff0c;应该采用&#xff08;&#x…...

SAP B1 营销单据 - 复制从复制到总结

背景 营销单据具有相似的表单结构&#xff0c;并且单据之间可互相复制&#xff0c;本文总结出各个单据可【复制从】与【复制到】的单据清单&#xff0c;并绘制流程图&#xff0c;表现理论上可完成的流程。 销售&#xff1a;销售报价单&#xff1b;销售订单&#xff1b;交货&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&#xff08;Structured Query Language&#xff09;语法是数据库开发的基础&#xff0c;主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作&#xff0c;涵盖数据查询、插入、更新、删除等。 1. 数据库基础 数据库&#xff1a;存储表和数据的集合。表&am…...

滚雪球学SpringCloud[5.3讲]: 配置管理中的高可用与容错

全文目录&#xff1a; 前言高可用配置中心的搭建为什么需要高可用配置中心&#xff1f;多实例与负载均衡数据一致性实战示例&#xff1a;使用Nginx实现高可用配置中心 Spring Cloud Config中的高可用性高可用性的进一步优化 配置管理中的故障处理策略分布式系统中的常见故障故障…...

电商安全新挑战:筑起数字防御长城,守护业务与数据安全

在当今这个数字化时代&#xff0c;电商行业正以前所未有的速度发展&#xff0c;大数据、人工智能等技术的融入不仅重塑了消费模式&#xff0c;更激发了行业新的增长点。然而&#xff0c;这片繁荣景象之下&#xff0c;隐藏着一个不容忽视的暗流——网络安全威胁。从数据泄露到恶…...

Python 单元测试:深入理解与实战应用20240919

Python 单元测试&#xff1a;深入理解与实战应用 引言 在动态语言如 Python 中&#xff0c;代码的灵活性和动态特性使得开发效率大大提升&#xff0c;但也带来了潜在的风险&#xff1a;小的改动可能导致不可预见的功能失效。因此&#xff0c;确保代码逻辑的正确性和稳健性至关…...

二、MySQL环境搭建

文章目录 1. MySQL的卸载步骤1&#xff1a;停止MySQL服务步骤2&#xff1a;软件的卸载步骤3&#xff1a;残余文件的清理步骤4&#xff1a;清理注册表&#xff08;选做&#xff09;步骤5&#xff1a;删除环境变量配置 2. MySQL的下载、安装、配置2.1 MySQL的4大版本2.2 软件的下…...

mongoDB 读取数据python版本实现

要使用Python从MongoDB读取数据&#xff0c;你可以使用pymongo库。首先确保你已经安装了pymongo&#xff0c;如果没有安装&#xff0c;可以通过pip来安装它&#xff1a; pip install pymongo 接下来&#xff0c;我将展示如何使用给定的MongoDB连接字符串来连接数据库&#xff…...

java Nio的应用

Java NIO&#xff08;New Input/Output&#xff09;是Java 1.4引入的一种非阻塞I/O模型&#xff0c;适用于高性能和高并发的应用程序。以下是NIO的一些主要应用场景和特点&#xff1a; 1. 非阻塞I/O NIO支持非阻塞模式&#xff0c;这意味着线程可以在I/O操作进行时继续执行其…...

双十一有什么好物推荐?值得入手的五款产品

随着双十一狂欢的号角日益临近&#xff0c;这个一年一度的购物盛典即将拉开帷幕&#xff01;为了让大家在海量的商品中精准定位&#xff0c;圆圆用心整理了一份购物清单&#xff0c;分享那些我亲身试用过&#xff0c;觉得超级值得购买的好物。 这些商品不但价格亲民&#xff0…...

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 过低 会导致画面卡顿,尤其是…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...