博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中watch、computed和methods的区别
阅读量:4129 次
发布时间:2019-05-25

本文共 879 字,大约阅读时间需要 2 分钟。

watch和computed的区别

watch和computed都是对数据的监听只有数据发生变化时才会触发,但是他们擅长的领域不一样

watch更擅长一对多:就是主要监听一个可以影响多个数据的数据
computed擅长多对一:主要监听多个数据影响一个数据的数据,一定要return
组合出的那个数据会自动定义不用在data中再次定义,
当然也可以使用watch来监听组成computed所监听数据的每一个数据,但是这样代码的重复率过高

### watchvar vm = new Vue({  el: '#demo',  data: {    firstName: 'Foo',    lastName: 'Bar',  },  watch: {    firstName: function (val) {      this.fullName = val + ' ' + this.lastName    },    lastName: function (val) {      this.fullName = this.firstName + ' ' + val    }  }})### computedvar vm = new Vue({  el: '#demo',  data: {    firstName: 'Foo',    lastName: 'Bar'  },  computed: {    fullName: function () {      return this.firstName + ' ' + this.lastName    }  }})

methods和watch、computed的区别

这个很直观,methods是通过事件驱动来执行函数的是被动的

watch、computed是当监听的数据发生变化时主动执行这个函数

methods和computed的区别

区别一个是主动与被动,另一个是methods的运算是没有缓存的,computed运算是有缓存的(只要运算所依赖的数据没有发生变化就会从缓存中取出结果)

在这里插入图片描述

转载地址:http://rjuvi.baihongyu.com/

你可能感兴趣的文章
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
Objective-C 基础入门(一)
查看>>
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>