前端菜鸡学习日记 -- computed和watch的用法

news2024/11/26 2:32:27

目录

1.computed:

2.watch:


哈喽哇大家,又是新的一周,因为一些特殊的原因,所以目前是比较闲的,就趁机多学习一点东西把,这些学习日记就是学习中的笔记咯,流水账日记则是工作中遇到的实际的问题,大家可以按需查看~  (侧重于vue3)

------------------------------------

1.computed:

语法:const 变量名  = computed(() => { return })

步骤:从vue中导入‘computed’函数

           在setup函数中,使用computed函数,传入一个喊出,函数返回计算好的数据

           最后,setup函数返回一个对象,包含该计算属性数据即可,然后模板内使用

例子:

import { computed , ref } from 'vue' //导入

const list = ref(2,5,8,9,10,3) //定义一个list变量

//需求:计算list中大于5的数据
const newList = computed(() =>{
    return list.value.filter((item) =>item>5)
})

通过以上的代码即可计算完成,想要查看的话可以输出到页面中查看,例如:

<ul>
<li v-for = 'item in newList ' :key = 'item'> {{ item }} </li>
</ul>

当然插看的方式不只是这一种,这种作为例子查看简单直接

如果给list一个按钮,并且点击的时候给一个100内的随机数组,就会发现,当新增的随机数是大于5的list更改的同时newList也会进行变化

点击事件:
const changeList = () =>{
    list.value.push( Math.random()*100+10)
}

按钮:
<button>新增随机数</button>

就像截图所示那样,所以可以看出,computed是依赖list变量的计算结果,一旦list变化,那么newList也会进行变化,即有缓存

特点:

1.有缓存

2.不支持异步

3.一般用于计算

----------------------------------------

2.watch:

语法1:watch (变量,() => {})

语法2:watch([变量1,变量2,....],() => {})

步骤:同computed的步骤

用法:可以监听一个或者多个,也可以监听对象中的一个属性也可以配置深度监听

语法1和2例子:

const count = ref(0)  //定义一个变量
const bool = ref(false)

watch(count,(newval,oldval) => {
    console('count变化了', newval,oldval)
})  //按照语法进行一个新的值和酒的值变化的输出


想要监听多个变量的话就是 前边变量部分用中括号括起来
wathc([count, bool] ,( newval,oldval ) => {
    console(newval,oldval)  //可以一起监听到两个变量
})

深度监听:

-----
深度监听:
const obj ref({
    name:'小明',
    age:18
})

watch(obj,(newval,oldval) => {
    console.log(newval.oldval)
},{
    deep:true, //深度监听
    immediate:true  //页面加载后立即执行一次监听
})

给个按钮
<button @click = obj.age++> 年龄增加 </button>
需要深度监听才可以,否则就是只有页面变化,但是监控不到 

deep:true  -- 开启深度监听

immediate:true   -- 立即监听,加载刷新了立即执行一次

特点:

1.没有缓存

2.支持异步

2.主要是监测数据的变化,不做计算,没有返回

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

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

相关文章

基于Elementui组件,在vue中实现多种省市区前端静态JSON数据展示并支持与后端交互功能,提供后端名称label和id

基于Elementui组件&#xff0c;在vue中实现多种省市区前端静态数据&#xff08;本地JSON数据&#xff09;展示并支持与后端交互功能&#xff0c;提供后端名称label和id 话不多说&#xff0c;先上图 1.支持传递给后端选中省市区的id和名称&#xff0c;示例非常完整&#xff0c…

WordPress简单好看的线报主题模板源码

安装说明 到WordPress管理后台中的「外观」-「主题」中点击「添加」&#xff0c;选择baolog的主题包进行上传安装并启用即可。 提示&#xff1a;为了防止主题不兼容&#xff0c;请在安装主题前进行数据备份&#xff0c;防止数据字段重复覆盖等情况发生。 源码截图 源码下载 …

Git--Part3--远程操作 配置 标签管理

theme: nico 远程仓库 Git 是分布式版本控制系统&#xff0c;同⼀个 Git 仓库&#xff0c;可以分布到不同的机器上。怎么分布呢&#xff1f; 最早&#xff0c;肯定只有⼀台机器有⼀个原始版本库&#xff0c;此后&#xff0c;别的机器可以 “克隆” 这个原始版本库&#xff0…

php配合fiddler批量下载淘宝天猫商品数据分享

有个做电商的朋友问我&#xff0c;每次上款&#xff0c;需要手动去某宝去搬运商品图片视频&#xff0c;问我能不能帮忙写个脚本&#xff0c;朋友开口了&#xff0c;那就尝试一下 首先打开某宝&#xff0c;访问一款商品&#xff0c;找出他的数据来源 通过观察我们发现主图数据来…

网络学习(三)TCP三次握手、四次挥手,及Wireshark抓包验证

目录 一、什么是 TCP 三次握手&#xff1f;二、什么是 TCP 四次挥手&#xff1f;三、Wireshark抓包验证3.1 如何捕获三次握手、四次挥手3.2 TCP 三次握手的记录3.3 数据传输3.4 TCP 四次挥手的记录 一、什么是 TCP 三次握手&#xff1f; TCP&#xff08;Transmission Control …

设计模式(三)代理模式

目录 一、什么是代理模式 二、静态代理 1、定义 2、代码 2.1、接口 2.2、被代理对象 2.3、代理对象 2.4、测试 三、动态代理 1、定义 2、代码 2.1、接口 2.2、目标对象 2.3、代理对象 2.4、测试 一、什么是代理模式 代理模式(Proxy Pattern)是一种结构性模式。代理模…

学习笔记——网络管理与运维——SNMP(SNMP原理)

四、SNMP原理 SNMP的工作原理基于客户端-服务器模型。其中&#xff0c;网络管理系统是客户端&#xff0c;而网络设备是服务器。客户端向服务器发送请求消息(即"Get"或"Set"命令)来获取或修改服务器的信息。服务器收到请求消息后&#xff0c;会返回相应的响…

物联网技术-第2章-物联网技术架构

目录 1.1为什么需要物联网架构 1.2系统体系结构的基本概念 1.3物联网工作过程与人的智能处理问题过程比较 1.4物联网的四层体系架构 1.4.1物联网感知层 1.4.1.1感知层要解决的问题 1.4.1.2感知层的形态 1.4.2物联网网络层 1.4.2.1网络层相关概念 1.4.2.2计算机网络的逻…

深度学习神经网络协同过滤模型(NCF)与用户协同过滤(UCF)的区别

一、效果图 点我查看在线demo 二、启发式推荐系统 推荐系统的核心是根据用户的兴趣需求&#xff0c;给用户推荐喜欢的内容。常用的推荐算法有启发式推荐算法&#xff0c;可分为基于用户的 协同过滤&#xff0c;基于物品的协同过滤。 1、基于用户的协同过滤&#xff08;UCF…

Api Post快速上手教程

Apipost快速上手教程可以按照以下步骤进行&#xff1a; 一、准备工作 访问Apipost官网下载并安装Apipost客户端&#xff0c;或者选择使用其Web端版本。注册并登录Apipost账号&#xff0c;以便更好地管理和使用你的项目。官网&#xff1a;Apipost-API 文档、设计、调试、自动化…

Matlab初识:什么是Matlab?它的历史、发展和应用领域

目录 一、什么是Matlab&#xff1f; 二、Matlab的历史与发展 三、Matlab的应用领域 四、安装和启动Matlab 五、界面介绍 六、第一个Matlab程序 七、总结 一、什么是Matlab&#xff1f; Matlab 是由 MathWorks 公司开发的一款用于数值计算、可视化以及编程的高级技术计算…

第十七课,海龟画图习题课(一)

图案一&#xff0c;半圆 import turtleturtle.circle(50, 180)turtle.left(90)turtle.forward(100) 图案二&#xff0c;同心圆 import turtleturtle.circle(100)turtle.right(90)turtle.penup()turtle.forward(50)turtle.pendown()turtle.left(90)turtle.circle(150) 图案三&am…

6.1触发器的创建、删除和使用

6.1.1 触发器概述 触发器是一个被指定关联到表的数据库对象&#xff0c;与表的关系密切&#xff0c;不需要用户调用&#xff0c;在一个表的特定事件出现时将会被激活&#xff0c;此时某些MySql语句会自动执行。 触发器用于实现数据库的完整性&#xff0c;具有以下特点&#xff…

【Python机器学习实战】----基于AdaBoost分类树模型、梯度提升分类树模型、Bagging分类树模型以及随机森林分类模型对空气质量等级进行预测

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

前端学习笔记100篇之002:Webpack简明教程(持续完善中)

文章目录 1. **安装和初始化**2. **创建和配置入口文件**3. **编写和配置Webpack配置文件**4. **打包和运行项目** Webpack是一个静态模块打包工具&#xff0c;适用于前端项目构建和模块化开发。Webpack通过从入口文件构建依赖图&#xff0c;然后打包相关的模块&#xff0c;最终…

什么是小语言模型?

介绍 近年来&#xff0c;人工智能领域取得了重大进展&#xff0c;尤其是在自然语言处理领域。GPT-3 和 PaLM 等大型语言模型因其出色的能力而备受关注&#xff0c;新一波小型语言模型正在兴起&#xff0c;它们在性能和效率之间提供了有希望的平衡。 什么是小语言模型&#xf…

[AIGC] 图论基础入门

图论是数学的一个分支&#xff0c;旨在研究图&#xff08;graph&#xff09;的属性和应用。这是一个跨学科领域&#xff0c;因为图论可以用于描述和解决各种实际问题。如社交网络分析&#xff0c;电脑网络&#xff0c;生物网络等。 文章目录 什么是图&#xff1f;图的基本性质L…

应急便携式气象观测站

TH-BQX5自然灾害&#xff0c;如台风、暴雨、洪涝、干旱等&#xff0c;给人们的生命财产安全带来了巨大威胁。在应对这些灾害时&#xff0c;准确的气象观测数据是制定有效应对策略的基础。近年来&#xff0c;应急便携式气象观测站在自然灾害的监测和预警中发挥了越来越重要的作用…

python GUI开发: tkinter选项卡,移动滑块,颜色选择框,文本对话框,对话输入框,通用消息框模块用法详解

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Vue57-组件的自定义事件_解绑

给谁绑的自定义事件&#xff0c;就找谁去触发&#xff1b;给谁绑的自定义事件&#xff0c;就找谁去解绑&#xff1b; 一、解绑自定义事件 1-1、解绑一个自定义事件 到student.vue组件中去解绑。 1-2、解绑多个自定义事件 使用数组来解绑多个。 1-3、解绑所有的自定义事件 二、…