vue的计算属性computed和监视属性waatch的区别
共同的:都是用于监听数据变化的属性;
计算属性:必须有返回值return ,依赖其它属性值,其它属性值发生变化的时候就会重新计算 ;
监视属性:每当数据变化的时候就会触发执行,watch有两个新值和旧值的参数,watch的函数名必须和data的属性名一致,不需要依赖其它的数据,只在乎自己的数据是否发生变化,对于复杂数据要使用深度监听,deep:true 因为默认监听的时候只看地址的变化 ;immerdiate:true 页面首次加载的时候执行一次 ; 可以没有返回值return ;
区别:
1. computed是计算属性,产生新的数据,而且数据依赖其它的数据,watch不产生新的数据,是对已存在的数据的监视,是数据发生变化的回调函数 ;
2. computed必须有返回值,watch可以没有返回值;
ps:注意:computed必须有return,同时因为return是同步执行结果,因此computed中不能执行异步任务
3. computed不能有异步代码,watch可以运行异步代码;
computed是依赖已有的变量来计算一个新变量,大多数情况都是多个变量凑在一起计算出一个变量,并且computed具有缓存机制,依赖值不变的情况下其会直接读取缓存进行复用,computed不能进行异步操作
watch是监听某一个变量的变化,并执行相应的回调函数,通常是一个变量的变化决定多个变量的变化,watch可以进行异步操作
简单记就是:一般情况下computed是多对一,watch是一对多
vue的计算属性computed和监视属性waatch的区别的更多相关文章
- vue的计算和监视属性,附一小实例
1. 计算属性 在computed属性对象中定义计算属性的方法 在页面中使用{{方法名}}来显示计算的结果 2. 监视属性: 通过通过vm对象的$watch()或watch配置来监视指定的属性 当属性 ...
- VUE:计算属性和监视
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Vue学习之--------监视属性(2022/7/10)
文章目录 1.监视属性 1.1 监视属性--天气案例 1.1.1 基础知识 1.1.2 代码实例 1.1.2 测试效果 1.2 深度监视-天气案例 1.2.1 基础知识 1.2.2 代码实例 1.2. ...
- Vue 计算属性 && 监视属性
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- vue的计算属性computed和监听器watch
<template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...
- Vue学习3:计算属性computed与监听器
下面是计算属性相关代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- Vue的计算属性,监视属性代码理解
1.计算属性:在computed属性对象中定义计算属性的方法,在页面中使用{{方法名}}来显示计算的结果 //计算属性 computed:{ // 计算属性值的一个方法,方法的返回值是属性值,初始化显 ...
- vue从入门到进阶:计算属性computed与侦听器watch(三)
计算属性computed 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example" ...
- 温故vue对vue计算属性computed的分析
vue 复习笔记(1)一段时间没有看过vue的官方文档了,温故而知新,所以我决定将vue的文档在看一遍 1计算属性computed在vue的computed中声明的是计算属性,可以使用箭头函数来进行定 ...
- Vue教程:计算属性computed与侦听器watch(三)
计算属性computed 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example" ...
随机推荐
- DrawIO安装及基本使用教程
1.DrawIO简介 DrawIO 是一款开源免费且功能强大的绘图工具,可以用于绘制流程图.组织结构图.网络图.UML图等各种类型的图表: DrawIO 支持多种文件格式,包括XML.PNG.SVG等 ...
- 【Java-GUI】06 绘图 Part2 位图处理
绘画程序案例: 原视频排错找了半天,原来是变量名的问题 package cn.dzz; import java.awt.*; import java.awt.event.*; import java. ...
- MindSpore 自动微分
代码原地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/autograd.html MindSpore计算一阶导数方法 mindspore.ops.G ...
- mysql8.0.16免安装教程
Win10下免安装版MySQL8.0.16的安装和配置 1.MySQL8.0.16解压 其中dada文件夹和my.ini配置文件是解压后手动加入的,如下图所示 2.新建配置文件my.ini放在D: ...
- 06-canvas填充图形颜色
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- kubernetes批量删除evicted状态pod
#!/bin/bash # get namespace namespaces=`kubectl get pod -A | grep -i "evicted" | awk '{pri ...
- Ubuntu20.04安装CUDA和CUDNN
CUDA是GPU深度学习的运行库,那么cuDNN就是训练加速工具,两者要相互配合使用,所以一般机器学习需要训练引擎(tensorflow-gpu) + CUDA + cuDNN使用.想不安装cuDNN ...
- WM_LBUTTONDOWN,WM_LBUTTONUP
WM_LBUTTONDOWN //鼠标左键按下消息WM_LBUTTONUP //鼠标左键弹起消息参数和按下一样 当用户在窗口的客户区域中按住鼠标左键时,会发布WM_LBUTTONDOWN消息.如果未捕 ...
- Selenium 操作已打开的浏览器
偶尔要用到,start writing 实现步骤 先启动 Chrome,打开任务管理器,找到 chrome.exe,地址栏输入 cmd,然后执行 chrome.exe --remote-debuggi ...
- 如何使用 Shebang
什么是 Shebang? 简单来说,就是你在脚本开头看到的这个: #!/usr/bin/bash Shebang(也称为 hash-bang.pound-bang 或者 bang)是一个作为脚本文件中 ...