当前位置:首页 > 日记 > 正文

详解vue中computed 和 watch的异同

详解vue中computed 和 watch的异同

一、computed 和 watch 都可以观察页面的数据变化。当处理页面的数据变化时,我们有时候很容易滥用watch。 而通常更好的办法是使用computed属性,而不是命令是的watch回调。

这里我直接引用vue官网的例子来说明:

html:

我们要实现 第三个表单的值 是第一个和第二个的拼接,并且在前俩表单数值变化时,第三个表单数值也在变化

<div id="myDiv">  <input type="text" v-model="firstName">  <input type="text" v-model="lastName">  <input type="text" v-model="fullName"></div>

js: 用watch方法来实现

 new Vue({ el: '#myDiv', data: {  firstName: 'Foo',  lastName: 'Bar',  fullName: 'Foo Bar' }, watch: {  firstName: function (val) {   this.fullName = val + ' ' + this.lastName  },  lastName: function (val) {   this.fullName = this.firstName + ' ' + val  } }})

js: 利用computed 来写

 new Vue({    el:"#myDiv",      data:{        firstName:"Den",        lastName:"wang",      },      computed:{        fullName:function(){          return this.firstName + " " +this.lastName;        }      }  })

很容易看出 computed 在实现上边的效果时,是更简单的。

二 、 详解 comouted 计算属性。

在vue的 模板内({{}})是可以写一些简单的js表达式的 ,很便利。但是如果在页面中使用大量或是复杂的表达式去处理数据,对页面的维护会有很大的影响。这个时候就需要用到computed 计算属性来处理复杂的逻辑运算。

1.优点:

在数据未发生变化时,优先读取缓存。computed 计算属性只有在相关的数据发生变化时才会改变要计算的属性,当相关数据没有变化是,它会读取缓存。而不必想 motheds方法 和 watch 方法是的每次都去执行函数。

2.setter 和 getter方法:(注意在vue中书写时用set 和 get)

  1. setter 方法在设置值是触发。
  2. getter 方法在获取值时触发。
computed:{  fullName:{  //这里用了es6书写方法    set(){       alert("set");    },    get(){      alert("get");      return this.firstName + " " +this.lastName;    },  } }

三 、watch 方法

虽然计算属性在大多数情况下是非常适合的,但是在有些情况下我们需要自定义一个watcher,在数据变化时来执行异步操作,这时watch是非常有用的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

js实现截图保存功能的代码示例

js实现截图保存功能的代码示例

代码示例,截图,功能,电脑软件,js,前几天公司项目里有这样一个需求,把网页的某一部分能够一键截图。这个功能其实就是对人力的一个优化,如果是人为做的话,相信大家都知道怎么做(用截图工具在指定区域截图,然后保存到本地,再上传的服务器上去)。我这…

如何用Excel表格做好财务分析

如何用Excel表格做好财务分析

财务分析,如何用,表格,七步,电脑软件,  企业进行财务分析时,多数都是利用手工计算财务指标,其计算工作量较大。以下是小编为您带来的关于分七步用Excel做好财务分析,希望对您有所帮助。分七步用Excel做好财务分析企业都是按照上级要求计算财…

PS合成万圣节黑夜中恐怖的暗黑魔王

PS合成万圣节黑夜中恐怖的暗黑魔王

万圣节,魔王,黑夜,恐怖,电脑软件,僵尸是恐怖和邪恶的代名词,本期我们将来学习如何使用亮光和阴影来建立一个充满阴森的场景。最终效果1、新建1900px * 1948px,分辨率为150px文件。 2、把素材拖到文档,调整合适的位置,新建色彩平衡调整图层,对素…

PS怎么制作局部放大效果?

PS怎么制作局部放大效果?

局部,效果,电脑软件,PS,运用PS软件,制作局部放大图片,以及气泡效果。 软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、首先打开要处理的图片,选择椭圆选框工具。2、同时按Shift和鼠标左键建立圆形选区。…

随机生成10个不重复的0-100的数字

随机生成10个不重复的0-100的数字

数字,实例,电脑软件,在面试时,面试官问了我一道js题:随机生成一个含有10个元素的数组,且元素为0-100的不重复的整数。当时的第一反应是for循环生成10个数字,但是可能会有重复的情况;进一步思考,需要对生成的数字进行验证才能放到数组里面,但是问题…

tomcat共享多个web应用会话的实现

tomcat共享多个web应用会话的实现

方法,多个,电脑软件,tomcat,web,tomcat共享多个web应用会话的实现方法问题今天有位朋友问了个问题,大致是:tomcat下两个Java web,一个是商城,一个是直播,从商城登录后,再跳转到直播,发现处于非登录状态。解决思路将session抽出来成一个session服务…

Angular2监听页面大小变化的解决方

Angular2监听页面大小变化的解决方

解决方法,大小,页面,电脑软件,一、现象全屏页面中的图表,在很多的时候需要 resize 一把,以适应页面的大小变化二、解决1、引入 :import { Observable } from 'rxjs';2、使用(在nnInit方法中):nnInit() {  // 页面监听  Observable.fromEv…

promise处理多个相互依赖的异步请

promise处理多个相互依赖的异步请

异步请求,多个,实例,相互依赖,电脑软件,在项目中,经常会遇到多个相互依赖的异步请求。如有a,b,c三个ajax请求,b需要依赖a返回的数据,c又需要a和b请求返回的数据。如果采用请求嵌套请求的方式自然是不可取的。导致代码难以维护,如何请求很多。会…

怎么样调出天蓝色清新外景婚片的PS

怎么样调出天蓝色清新外景婚片的PS

教程,天蓝色,外景,快速,电脑软件,  好多童鞋给我抱怨说客片太难转色了,春天的小清新感都转不了,其实并不难,运用好互补色来进行加减色,能很快调整好照片的偏色。以下是小编为您带来的关于快速调出天蓝色清新外景婚片的PS教程,希望对您有所帮助…

excel表格设置数字递增的教程excel

excel表格设置数字递增的教程excel

设置,数字,教程,表格,电脑软件,  Excel表格中的数字递增该如何设置呢?接下来是小编为大家带来的excel表格设置数字递增的教程,供大家参考。excel表格设置数字递增的教程设置数字递增步骤1:比如一个数据,从它下拉做递增数列。将鼠标放在该单…

AI绘制卡通可爱鸡宝宝插画教程

AI绘制卡通可爱鸡宝宝插画教程

教程,绘制,插画,卡通,可爱,AI进阶教程:使用AI绘制可爱的鸡宝宝插画,教程主要介绍了鸡身体部分、鸡的腿部、耳机部分、眼睛部分、鸡冠部分、鸡嘴部分及录音机等部分的制作过程,通过本教程带大家掌握钢笔工具、形状工具、剪切蒙版的使用方法,以…

excel2010无法打开xlsx的解决方法

excel2010无法打开xlsx的解决方法

步骤,解决方法,无法打开,不可用,电脑软件,  excel2010本来就是以xlsx保存的文件,但是却显示无法打开时怎么回事。下面让小编为你带来excel2010无法打开xlsx的解决方法,希望对你有帮助!excel2010无法打开xlsx的解决步骤一、 单击开始菜单,选择…

软件日记