Vue基础(8)_监视属性、深度监视、监视的简写形式

监视属性(watch):

1.当被监视的属性变化时,回调函数(handler)自动调用,进行相关操作。
2.监视的属性必须存在,才能进行监视!!
3.监视的两种写法:
(1).new Vue时传入watch配置
(2).通过vm.$watch监视

handler
在Vue中,handler方法是用于处理监听属性变化的函数。它通常与watch属性一起使用,用于监控数据的变化并执行相应的操作。handler方法可以帮助我们将处理逻辑抽象出来,以便复用和维护。
可传递参数:
newValueoldValue(参数名可以自定义),但是第一个是修改后的属性值,第二个是原先的属性值

immediate(布尔值)
immediate:立即的、马上的、立刻执行的。默认为 false。
作用:初始化时让handler先调用一下。

深度监视(deep):
(1).Vue中的watch默认不监测对象内部值的改变。
(2).配置deep:true可以监测对象内部值改变(多层级结构监视)。

备注:
(1).Vue自身可以监测对象内部值的改变,但Vue提供的watch默认不可以!
(2).使用watch时根据数据的具体结构,决定是否采用深度监视。

监视的简写形式
前提条件:不需要immediatedeep属性,只需要handler时可简写。

watch:{isHot(){....}
}

或者:

vm.$watch("isHot", function(){...
})

举例:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><script type="text/javascript" src="../js/vue.js"></script><title>天气案例</title>
</head>
<body><div id="root"><h2>今天天气很{{info}}</h2><!-- 绑定事件的时候:@xxx = "yyy" 中的 yyy 可以写一些简单的语句 --><!-- 下面的语句可简写成: <button @click = isHot = !isHot;>改变天气</button> --><button @click=changeWeacher>改变天气</button><h2>a的值是:{{numbers.a}}</h2><button @click="numbers.a++">点一次加1</button></div>
</body>
<script>const vm = new Vue({el: "#root",data: {isHot: true,numbers: {a: 1,b: 1}},computed: {info() {return this.isHot ? '炎热' : '凉爽';}},methods: {changeWeacher() {this.isHot = !this.isHot;}},watch: {// 监视计算属性的变化(info)info: {// 初始化时让handler调用一下。immediate:立即的、马上的、立刻执行的。immediate: true,// handler什么时候调用?当info发生改变时。handler(newValue, oldValue) {console.log("info被修改了, 新值为:" + newValue, "旧值:" + oldValue)}},// 监视多级结构中某个属性的变化(numbers.a)'numbers.a': {handler(newValue, oldValue) {console.log("a的值改变了,新值为:" + newValue, "旧值:" + oldValue)}},// 监视多级结构中所有属性的变化(numbers.a、numbers.b等等)'numbers': {// 深度监视开启deep: true,handler() {console.log("numbers对象里有的值改变了")}}}})// 正常写法vm.$watch('isHot', {// immediate: true,// deep:true,handler(newValue, oldValue) {console.log("监视isHot变化", "新值为:" + newValue, "旧值:" + oldValue)}})// 简写形式vm.$watch('isHot',function (newValue, oldValue) {console.log("【监视isHot值,代码简写】", "新值为:" + newValue, "旧值:" + oldValue)})// 以上监视numbers.a的简写形式// 'numbers.a'(newValue, oldValue) {//     console.log("【监视a值代码简写】新值为:" + newValue, "旧值:" + oldValue)// },
</script>
</html>

点击 “改变天气” 后。。。

点击  “点一次加1” 后 。。。

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

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

相关文章

AI服务器的作用都有哪些?

根据网络环境的飞速发展&#xff0c;人工智能技术逐渐入驻到各个行业当中&#xff0c;其中AI服务器则是一种专门用来运行人工智能算法和模型的硬件设备&#xff0c;通常具备高性能计算、大容量存储和并行计算等多种功能&#xff0c;本文就来详细讲解一下AI服务器的作用&#xf…

[250508] Linux 内核瘦身:弃用 i486 及早期 586 CPU 支持

目录 Linux 内核计划精简&#xff1a;将移除对古董级 CPU 的支持 Linux 内核计划精简&#xff1a;将移除对古董级 CPU 的支持 核心动态&#xff1a; Linux 内核开发社区正计划一项重要的代码清理工作&#xff0c;目标是移除对非常古老的 i486 及早期 586 (如早期奔腾) CPU 架构…

ROM详解

一、ROM基础原理 定义与特性 ROM&#xff08;Read-Only Memory&#xff0c;只读存储器&#xff09;是一种非易失性存储器&#xff0c;数据在制造或编程后永久保存&#xff0c;断电后不丢失。其核心特性为数据不可修改&#xff08;或需特殊条件修改&#xff09;。 存储原理&…

解决虚拟机挂起之后的网络问题

相信很多人都有遇到过自己在VM上面手滑点了个挂起然后就连不了网络的情况吧&#xff0c;我也遇到了&#xff0c;下面是我的解决办法&#xff0c;希望对大家有所帮助&#xff01; 我运行完如下&#xff1a; 基本上出现绿色的就说明网络连上啦&#xff01;

在Star-CCM+中实现UDF并引用场数据和网格数据

在Star-CCM中实现UDF并引用场数据和网格数据 Star-CCM中的用户自定义函数(UDF)允许用户通过Java或C/C编程扩展软件功能。下面我将详细介绍如何实现UDF并引用模拟数据。 1. UDF基础实现方法 1.1 创建UDF的步骤 在Star-CCM中&#xff0c;右键点击"工具" → “用户函…

ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接,Python爬虫

文章目录 ConnectionResetError(10054, 远程主机强迫关闭了一个现有的连接1.问题描述2.尝试的解决方法&#xff08;均未生效&#xff09;2.1 请求重试机制2.2 模拟浏览器请求头2.3 关闭连接资源2.4 延迟访问 3.解决方案&#xff1a;使用 proxy_pool IP 代理池最后参考文章 Conn…

Redis相关命令详解与原理(一)

目录 Redis是什么&#xff1f; Redis 的特点和功能 Redis工作模式 与MySQL的区别 安装编译和启动 redis的value类型编码 string类型 基础命令 应用 1.对象存储 2.累加器 3.分布式锁 4.位运算 list类型 基础命令 应用 1.栈&#xff08;先进后出 FILO&#xff0…

Starrocks 的 ShortCircuit短路径

背景 本文基于 Starrocks 3.3.5 本文主要来探索一下Starrocks在FE端怎么实现 短路径&#xff0c;从而加速点查查询速度。 在用户层级需要设置 enable_short_circuit 为true 分析 数据流&#xff1a; 直接到StatementPlanner.createQueryPlan方法&#xff1a; ... OptExpres…

Oracle非归档模式遇到文件损坏怎么办?

昨天夜里基地夜班的兄弟&#xff0c;打电话说有个报表库连不上了&#xff0c;赶紧起来连上VPN查看一下&#xff0c;看到实例宕机了&#xff0c;先赶紧startup起来。 1.查看报错信息 环境介绍&#xff1a;Redhat 6.9 Oracle 11.2.0.4 No Archive Mode 查看alert log 关键报…

关于一些平时操作系统或者软件的步骤转载

关于一些平时操作系统或者软件的步骤转载 关于python环境搭建 关于Ubuntu 1. 双系统之Ubuntu快速卸载 2. VMware安装Ubuntu虚拟机实现COpenCV代码在虚拟机下运行教程 3. ubuntu 下 opencv的安装以及配置&#xff08;亲测有效&#xff09; 4. Ubuntu将c编译成.so文件并测试 5…

hz2新建Keyword页面

新建一个single-keywords.php即可&#xff0c;需要筛选项再建taxonomy-knowledge-category.php 参考&#xff1a;https://www.tkwlkj.com/customize-wordpress-category-pages.html WordPress中使用了ACF创建了自定义产品分类products&#xff0c;现在想实现自定义产品分类下的…

VRRP协议-IP地址冗余配置

有两个服务器172.16.42.1和172.16.42.121&#xff0c;通过VRRP协议使两台设备共用一个虚拟地址172.16.42.100&#xff0c;当 172.16.42.1 可用时&#xff0c;它会作为主路由器使用虚拟 IP 地址&#xff1b;当它不可用时&#xff0c;172.16.42.121 会接管虚拟 IP 地址&#xff0…

21、DeepSeekMath论文笔记(GRPO)

DeepSeekMath论文笔记 0、研究背景与目标1、GRPO结构GRPO结构PPO知识点**1. PPO的网络模型结构****2. GAE&#xff08;广义优势估计&#xff09;原理****1. 优势函数的定义**2.GAE&#xff08;广义优势估计&#xff09; 2、关键技术与方法3、核心实验结果4、结论与未来方向关键…

卡尔曼滤波算法(C语言)

此处感谢华南虎和互联网的众多大佬的无偿分享。 入门常识 先简单了解以下概念&#xff1a;叠加性&#xff0c;齐次性。 用大白话讲&#xff0c;叠加性&#xff1a;多个输入对输出有影响。齐次性&#xff1a;输入放大多少倍&#xff0c;输出也跟着放大多少倍 卡尔曼滤波符合这…

SolidWork-2023 鼠標工程

地址 https://github.com/MartinxMax/SW2023-Project/tree/main/mouse 鼠標

vue 组件函数式调用实战:以身份验证弹窗为例

通常我们在 Vue 中使用组件&#xff0c;是像这样在模板中写标签&#xff1a; <MyComponent :prop"value" event"handleEvent" />而函数式调用&#xff0c;则是让我们像调用一个普通 JavaScript 函数一样来使用这个组件&#xff0c;例如&#xff1a;…

Vite Proxy配置详解:从入门到实战应用

Vite Proxy配置详解&#xff1a;从入门到实战应用 一、什么是Proxy代理&#xff1f; Proxy&#xff08;代理&#xff09;是开发中常用的解决跨域问题的方案。Vite内置了基于http-proxy的代理功能&#xff0c;可以轻松配置API请求转发。 二、基础配置 在vite.config.js中配置…

图像画质算法记录(前言)

一、背景介绍 本篇主要是对图像画质增强相关&#xff0c;进行简单整理和记录。 二、整体流程 整体效果主要受到两部分影响&#xff1a; 1、前端isp处理。 2、后端画质增强。 三、isp常规流程 可以参考&#xff1a;刘斯宁&#xff1a;Understanding ISP Pipeline 四、后端画质…

Qt 中信号与槽(signal-slot)机制支持 多种连接方式(ConnectionType)

Qt 中信号与槽&#xff08;signal-slot&#xff09;机制支持 多种连接方式&#xff08;ConnectionType&#xff09; Qt 中信号与槽&#xff08;signal-slot&#xff09;机制支持 多种连接方式&#xff08;ConnectionType&#xff09;&#xff0c;用于控制信号发出后如何调用槽…

卷积神经网络实战(4)代码详解

目录 一、导包 二、数据准备 1.数据集 2. 标准化转换(Normalize) 3.设置dataloader 三、定义模型 四、可视化计算图&#xff08;不重要&#xff09; 五、评估函数 六、Tensorboard 一、导包 import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib i…