返回顶部
首页 > 资讯 > 精选 >vue.js中methods watch和computed的区别是什么
  • 150
分享到

vue.js中methods watch和computed的区别是什么

2023-06-20 19:06:25 150人浏览 独家记忆
摘要

这篇文章给大家介绍vue.js中methods watch和computed的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、作用机制上computed\watch:watch和computed都是以Vue

这篇文章给大家介绍vue.js中methods watch和computed的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、作用机制上

computed\watch:watch和computed都是以Vue的依赖追踪机制为基础的,它们都试图处理这样一件事情:当某一个数据(称它为依赖数据)发生变化的时候,所有依赖这个数据的“相关”数据“自动”发生变化,也就是自动调用相关的函数去实现数据的变动。

methods:methods里面是用来定义函数的,很显然,它需要手动调用才能执行。而不像watch和computed那样,“自动执行”预先定义的函数。

【小结】:·methods·里面定义的函数,是需要主动调用的,而和watch和computed相关的函数,会自动调用,完成我们希望完成的作用。

二、从性质上

methods里面定义的是函数,你显然需要像"fuc()"这样去调用它(假设函数为fuc)。

computed是计算属性,事实上和和data对象里的数据属性是同一类的(使用上)

例如:

computed:{   fullName: function () { return  this.firstName + lastName }}

你在取用的时候,用this.fullName去取用,就和取data一样(不要当成函数调用!!)

watch:类似于监听机制+事件机制

例如:

watch: {   firstName: function (val) {  this.fullName = val + this.lastName }}

firstName的改变是这个特殊“事件”被触发的条件,而firstName对应的函数就相当于监听到事件发生后执行的方法。

三、watch和computed的对比

watchcomputed
一个数据影响多个数据一个数据受多个数据影响
vue.js中methods watch和computed的区别是什么vue.js中methods watch和computed的区别是什么

watchcomputed一个数据影响多个数据一个数据受多个数据影响

四、methods不处理数据逻辑关系,只提供可调用的函数

相比于watch/computed,methods不处理数据逻辑关系,只提供可调用的函数

new Vue({  el: '#app',  template: '<div ><p>{{ say() }}</p></div>',  methods: {    say: function () {      return '我在他乡挺好的'    }  }})

五、从功能的互补上看待methods,watch和computed的关系

在很多时候,computed是用来处理你使用watch和methods的时候无法处理,或者是处理起来并不太恰当的情况的
利用computed处理methods存在的重复计算情况

methods里面的函数就是一群“耿直Boy”,如果有其他父函数调用它,它会每一次都“乖乖”地执行并返回结果,即使这些结果很可能是相同的,是不需要的

而computed是一个“心机Boy”,它会以Vue提供的依赖追踪系统为基础,只要依赖数据没有发生变化,computed就不会再度进行计算

六、利用computed处理watch在特定情况下代码冗余的现象,简化代码

总结

computed

  1. computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过的数据通过计算得到的

  2. 如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed

  3. 如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。

  4. computed计算属性是根据依赖关系进行缓存的计算,并且只在需要的时候进行更新。

watch

监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;

computed(计算属性)watch(侦听属性)
支持缓存,只有依赖数据发生改变,才会重新进行计算不支持缓存,数据变,直接会触发相应的操作;
不支持异步,当computed内有异步操作时无效,无法监听数据的变化watch支持异步;

关于vue.js中methods watch和computed的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: vue.js中methods watch和computed的区别是什么

本文链接: https://lsjlt.com/news/299775.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue.js中methods watch和computed的区别是什么
    这篇文章给大家介绍vue.js中methods watch和computed的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、作用机制上computed\watch:watch和computed都是以Vue...
    99+
    2023-06-20
  • vue.js中methods watch和computed的区别示例详解
    目录前言介绍一、作用机制上二、从性质上三、watch和computed的对比四、methods不处理数据逻辑关系,只提供可调用的函数五、从功能的互补上看待methods,watch和...
    99+
    2024-04-02
  • Vue中computed属性和watch,methods的区别
    目录computedwatchmethods归纳三者不同点1、methods2、computed3、watch在Vue中,computed、watch和methods是处理响应式数据...
    99+
    2023-05-19
    Vue computed属性 watch methods
  • Vue中的watch、watch和computed的区别是什么
    本文小编为大家详细介绍“Vue中的watch、watch和computed的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中的watch、watch和computed的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-02
  • 关于Vue的 watch、computed和methods的区别汇总
    目录1 前言2 基础用法2.1 methods 方法2.2 computed 计算属性2.3 watch 侦听器3 三者的区别3.1 方法 VS 计算属性 3.2 计算属性 VS 侦...
    99+
    2024-04-02
  • Vue中的computed和watch的区别是什么
    Vue中的computed和watch的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下面带大家认识Vue中的computed 和 watch,介绍一下compu...
    99+
    2023-06-22
  • Vue中的watch是什么以及watch和computed的区别
    目录一、watch是什么?二、应用基本用法三、Watch和computed的区别computed和watch的综合运用实例需求:实现代码(helloworld.vue实现代码)一、w...
    99+
    2024-04-02
  • vue中computed 和 watch有什么区别
    vue中computed 和 watch有什么区别,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、computed 和 wa...
    99+
    2024-04-02
  • vue中watch和computed区别
    vue中watch和computed区别有:watch不支持缓存,而computed支持缓存。watch支持异步,而computed不支持异步。watch属于侦听属性,而computed则属于计算属性。处理的数据关系场景不同,watch擅长...
    99+
    2024-04-02
  • Vue中computed和watch的区别小结
    目录一、Vue中computed和watch的区别二、computed计算属性三、区别总结区别:计算属性computed支持缓存,只有依赖数据发生改变,才会重新进行计算;不支持异步,...
    99+
    2022-12-10
    Vue中computed和watch的区别 Vue中computed和watch异同
  • 分析 Vue 中的 computed 和 watch 的区别
    目录一、computed介绍1.1、get 和 set 用法 1.2、计算属性缓存二、watch介绍三、两者区别3.1、对于 computed3.2、对于 watch四、应...
    99+
    2024-04-02
  • Vue 中的 computed 和 watch 的区别详解
    目录computed注意应用场景watch总结computed computed 看上去是方法,但是实际上是计算属性,它会根据你所依赖的数据动态显示新的计算结果。计算结果会被缓存,c...
    99+
    2024-04-02
  • Vue中computed和watch的区别有哪些
    小编给大家分享一下Vue中computed和watch的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述我们在 Vue 项目中多多少少都会有用到 co...
    99+
    2023-06-15
  • Vue中的computed和watch用法及区别
    目录vue computed 是如何实现的computed demovue的watch是如何实现的watch demovue computed 是如何实现的 Vue 的 comput...
    99+
    2023-05-17
    Vue computed和watch Vue computed Vue watch
  • 如何理解Vue中computed和watch的区别
    目录概述computed 计算属性watch 监听属性总结概述 我们在 Vue 项目中多多少少都会有用到 computed 和 watch,这两个看似都能实现对数据的监听,但还是有区...
    99+
    2024-04-02
  • vue中computed和watch的区别和运用场景
    这篇文章主要为大家展示了“vue中computed和watch的区别和运用场景”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中computed和watch...
    99+
    2024-04-02
  • Vue中Computed和Watch的作用是什么
    本篇文章给大家分享的是有关Vue中Computed和Watch的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 Vue中的...
    99+
    2024-04-02
  • vue2.x版本中computed和watch的使用及关联和区别
    目录前言区别补充结语前言 前面篇介绍了computed和watch的基本使用vue2.x版详解computed和watch的使用 两者的区别,继续通过代码实现的方式具体去了解 htm...
    99+
    2024-04-02
  • 详解Vue中Computed与watch的用法与区别
    目录computedcomputed只接收一个getter函数computed同时接收getter函数对象和setter函数对象调试 ComputedwatchEffect立即执行 ...
    99+
    2024-04-02
  • vue3中的watch和computed怎么使用
    2.监听 ref 数据2.1监听一个 ref 数据<template> <p>{{ age }}</p> <button @click="age++">click&...
    99+
    2023-05-21
    Vue3 watch computed
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作