Vue2计算属性(computed)和侦听器(watch)

文章目录

  • 1.计算属性
    • 1.1 什么是计算属性
    • 1.2 计算属性怎么用?
    • 1.3 计算属性的作用
  • 2.侦听器(watch)
  • 3.computed和watch选择
  • 4.什么时候用箭头函数什么时候用普通函数

1.计算属性

1.1 什么是计算属性

(1)Vue的原有属性:data对象当中的属性就可以理解为Vue的原有属性
(2)计算属性:使用Vue的原有属性,经过一系列的运算/计算,最终得到了一个全新的属性,叫做计算属性

1.2 计算属性怎么用?

(1)语法格式:vue对象中需要一个新的配置项computed

computed :{// 这是一个计算属性计算属性1:{// get方法的调用时机包括两个// 第一个时机:第一次访问这个属性的时候// 第二个时机:该计算属性所关联的Vue原有属性的值发生变化时,get方法会被重新调用一次// 其他情况会走缓存get(){},// 当修改计算属性1的值的时候,setter方法被自动调用set(val){}}
}

1.3 计算属性的作用

(1)代码得到了复用
(2)代码更加便于维护
(3)代码的执行效率高了(可以走缓存)

2.侦听器(watch)

(1)watch可以监视多个属性,监视哪个属性,就把这个属性的名字拿过来即可,可以监视vue的原有属性

<body><div id="app"><h1>{{msg}}</h1>数字:<input type="text" v-model="number"></div><script>const vm = new Vue({el: '#app',data: {msg: '侦听属性的变化',number: 0},computed: {hehe() {return 'haha' + this.number;}},watch: {number: {//初始化的时候,调用一次handler方法,默认是false// immediate:true,// 这里有一个固定的写法,方法名必须叫做:handler// 当被监视的属性发生变化的时候,handler就会自动调用一次// handler方法上有两个参数:// 第一个参数newValue(属性值改变之后的新值),第二个参数是oldValue(属性值改变之后的旧值)handler(newValue, oldValue) {console.log(newValue, oldValue)}},// 也可以监视计算属性hehe: {handler(a, b) {console.log(a, b)}}}})</script>
</body>

(2)如果监视的属性具有多级结构,一定要添加单引号:如:‘a.b’

<body><div id="app">数字:<input type="text" v-model="a.b"></div><script>const vm = new Vue({el: '#app',data: {a: {b: 0}},watch: {'a.b': {handler(newValue, oldValue) {console.log(newValue, oldValue)}}}})</script>
</body>

(3)如果监视的属性具有多级结构,也可以开启深度监视,默认是关闭的

<body><div id="app">数字:<input type="text" v-model="a.b"></div><script>const vm = new Vue({el: '#app',data: {a: {b: 0}},watch: {a: {// 启用深度监视,默认是关闭的deep: true,handler(newValue, oldValue) {console.log('@')}}}})</script>
</body>

3.computed和watch选择

(1)computed和watch如果都能完成某个功能,优先选择computed
(2)有一种情况下,必须使用watch。那就是程序中使用了异步的方式,只能使用watch

4.什么时候用箭头函数什么时候用普通函数

(1)该函数是Vue管理的,用普通函数
(2)不是Vue管理的,用箭头函数

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

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

相关文章

HCIP-Datacom-ARST自选题库_10_其他判断【23道题】

1.端到端时延等于路径上所有处理时延与队列时延之和。 2.部署PPP Multilink之后&#xff0c;数据将根据源地址和目的地址均匀的分配在各条成员链路上。 3.流镜像分为本地流镜像和远程流镜像两种方式。√ 4.IP报文中用Tos字段进行Q0S标记&#xff0c;Tos字段中是使用前6bit来…

知识图谱的应用---智能电网

文章目录 智能电网典型应用 智能电网 智能电网以物理电网为基础&#xff0c;将现代先进的传感测量技术、通讯技术、信息技术、计算机技术和控制技术与物理电网高度集成而形成的新型电网。它以充分满足用户对电力的需求和优化资源配置、确保电力供应的安全性、可靠性和经济性、满…

2024.6.9 四

Python的异常处理 在python里,错误和异常是不同的概念 错误: Python 的语法错误或者称之为解析错,大多是因为写代码写错了出现的 异常: 即便 Python 程序的语法是正确的&#xff0c;在运行它的时候&#xff0c;也有可能发生错误。运行期检测到的错误被称为异常。 大多数的异常…

SAP_ABAP_消息类型

消息类型 A (Abort) - 中断消息 描述: 严重错误消息&#xff0c;表示操作无法继续。结果: 终止当前事务&#xff0c;用户必须修正错误后才能继续。使用场景: 当出现无法恢复的严重错误时使用。 E (Error) - 错误消息 描述: 错误消息&#xff0c;表示用户输入或操作有误。结果: …

用C++编写电机控制代码

在实际应用中&#xff0c;电机控制通常涉及到硬件接口&#xff0c;比如通过Arduino或Raspberry Pi这样的微控制器来实现。在这里我们可以先模拟一个简单的直流电机&#xff08;DC Motor&#xff09;控制程序的概念。我们假设有一个电机控制库&#xff0c;名为MotorControlLibra…

Ajax 快速入门

Ajax 概念&#xff1a;Ajax是一种Web开发技术&#xff0c;允许在不重新加载整个页面的情况下&#xff0c;与服务器交换数据并更新网页的部分内容。 作用&#xff1a; 数据交换&#xff1a;Ajax允许通过JavaScript向服务器发送请求&#xff0c;并能够接收服务器响应的数据。 异…

JavaScript Number 对象

JavaScript Number 对象 JavaScript 中的 Number 对象是内置的基本数据类型之一,用于表示数值。在 JavaScript 中,所有数字都是以 64 位浮点数的形式存储的,这意味着它可以表示整数和小数。本文将详细介绍 Number 对象的属性、方法和使用场景。 Number 对象的创建 创建 N…

STM32H750启动和内存优化(分散加载修改)

前些日子有个朋友一直给我推荐STM32H750这款芯片&#xff0c;说它的性价比&#xff0c;说它多么多么好。于是乎&#xff0c;这两天试了试&#xff0c;嚯&#xff0c;真香&#xff01;我们先看看基本配置 这里简单总结下&#xff0c;cortex-m7内核&#xff0c;128k片内flash …

HTML-CSS练习例子

HTML CSS 练习 https://icodethis.com 作为前端练习生。不敲代码只看&#xff0c;入门是很慢的&#xff0c;所以直接实战是学习前端最快的途径之一。 这个网站练习HTML CSS的&#xff0c;可以打开了解一下&#xff0c;可以每天打卡&#xff0c;例子简单&#xff0c;循序渐进&…

视觉SLAM14精讲——相机与图像3.1

视觉SLAM14精讲 三维空间刚体运动1.0三维空间刚体运动1.1三维空间刚体运动1.2李群与李代数2.1相机与图像3.1 视觉SLAM14精讲——相机与图像3.1 视觉SLAM14精讲简介相机模型内参K 简介 相机是VSLAM中的核心传感器。本章知识点内容涉及到相机相关的知识以及3D计算视觉的一些基础…

Python第二语言(六、Python异常)

目录 1. 捕获异常&#xff08;try: except: else: finally:&#xff09; 1.1 概念 1.2 基础语法&#xff08;try&#xff1a; except&#xff1a;&#xff09; 1.3 捕获异常&#xff08;异常也有类型&#xff09; 1.4 捕获多个异常&#xff08;try&#xff1a;except(Name…

基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道

作者&#xff1a;尹航 在前文《基于阿里云服务网格流量泳道的全链路流量管理&#xff08;一&#xff09;&#xff1a;严格模式流量泳道》、《基于阿里云服务网格流量泳道的全链路流量管理&#xff08;二&#xff09;&#xff1a;宽松模式流量泳道》中&#xff0c;我们介绍了流…

大数据数仓的数据回溯

在大数据领域&#xff0c;数据回溯是一项至关重要的任务&#xff0c;它涉及到对历史数据的重新处理以确保数据的准确性和一致性。 数据回溯的定义与重要性 数据回溯&#xff0c;也称为数据补全&#xff0c;是指在数据模型迭代或新模型上线后&#xff0c;对历史数据进行重新处理…

Linux性能优化-网络篇-网络延迟

文章目录 前言一、网络延迟网络延迟应用程序延迟 二、网络延迟测试1.ping命令2.hping3命令3. traceroute 命令 前言 很多时候&#xff0c;我们听到大家抱怨&#xff0c;网好卡啊&#xff0c;请求好慢啊&#xff0c;这些其实都是网络延迟比较大的原因。这篇文字带你了解网络延迟…

开源多平台AI音乐生成器本地安装结合cpolar内网穿透实现远程访问

文章目录 前言1. 本地部署2. 使用方法介绍3. 内网穿透工具下载安装4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统电脑上快速本地部署一个文字生成音乐的AI创作工具MusicGPT&#xff0c;并结合cpolar内网穿透工具实现随时随地远程访问使用。 MusicG…

基于stm32最小版的超声波测距模块

目录 一、模块准备 二、HC-SR04模块原理解释 三、程序完整代码 四、烧录结果 总结 一、模块准备 STM32F103C8T6 HC-SR04 ST-Link&#xff08;其他烧录器也可以&#xff09; 0.96寸OLED屏幕&#xff08;非必须&#xff0c;仅供显示测距结果&#xff0c;可以使用串口助手代替…

nodejs最新某东h5st(4.7.2)参数分析与javascript逆向纯算法还原(含算法源码)(2024-06-09)

一、作者声明&#xff1a; 文章仅供学习交流与参考&#xff01;严禁用于任何商业与非法用途&#xff01;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请联系作者本人进行删除&#xff01; 二 、写在前面 h5st从4.1一路更新到4.7.2&#xff0c;逐渐vmp…

66. UE5 RPG 实现远程攻击武器配合角色攻击动画

在制作游戏中&#xff0c;我们制作远程攻击角色&#xff0c;他们一般会使用弓箭&#xff0c;弩&#xff0c;弹弓等武器来进行攻击。比如你使用弓箭时&#xff0c;如果角色在播放拉弓弦的动画&#xff0c;但是弓箭武器没有对应的表现&#xff0c;会显得很突兀。所以&#xff0c;…

k8s和deepflow部署与测试

Ubuntu-22-LTS部署k8s和deepflow 环境详情&#xff1a; Static hostname: k8smaster.example.net Icon name: computer-vm Chassis: vm Machine ID: 22349ac6f9ba406293d0541bcba7c05d Boot ID: 605a74a509724a88940bbbb69cde77f2 Virtualization: vmware Operating System: U…

克鲁斯卡尔算法最小生成树--C语言

同样是最小生成树&#xff0c;普利姆算法是从一个起始顶点开始&#xff0c;逐步扩展生成树&#xff0c;每次选择连接生成树和未包含顶点的最小边。而克鲁斯卡尔算法是按权值排序的方式&#xff0c;从最小的边开始逐步添加到生成树中&#xff0c;确保不会形成环&#xff0c;直到…