首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(三)computed和watch区别

当中通过this.xxxopen in new window 的方式去调用,这样可以减少watch带代码,更加方便维护 computed他是有缓存的,如果依赖的tata数据不改变他就会一直使用缓存,computed...,data里面的数据变了,页面所依赖data的地方也会发生响应的变化 methods 写法 // 这里使用的是vue2的写法,后面时使用组合式api了就使用vue3的写法 methods: {...方法名(调用时候可以传递参数) { 业务逻辑 } } computed 的两种写法 // 一般需求都是使用简写方式,方法写法,就是使用 get 只读取数据 computed: {...方法名直接在模板页面使用() { return 业务逻辑 } } // 第二种写法是,对象写法,可以使用 get 和 set 方法 computed: { 方法名直接在模板页面使用...,何时又使用watch呢 computed:依赖的数据发生改变才会触发回调 watch:监听的变量发生改变就会触发回调 根据以上说明自行在合适的地方选择使用

28450
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vue中computed和watch比较

    Vue在监听数据的时候我们都会用computed和watch,但是很少人真正的去比较两个的区别,一般都是能实现就行。本人也是,习惯了watch,之后就几乎没用过computed。...returnthis.message.split('').reverse().join(''); } } 页面使用{{reversedMessage()}} 然而不同的地方就在于计算属性computed...watch也是监听属性,跟computed一样也是依赖的改变了就会改变,不同的是,当你一个数据关联两个数据的时候,watch两个数据还不如直接一个computed。...firstName: 'Foo', lastName: 'Bar', fullName: 'Foo Bar' fullName依赖于firstName和lastName,如果我们要用watch,那么就要监听两个数据...: fullName: function () { return this.firstName + ' ' +this.lastName } 这就是watch和computed在选择使用的时候要考虑的一个重要因素

    71910

    Vue中computed和watch的区别

    计算属性computed : 1. 支持缓存,只有依赖数据发生改变,才会重新进行计算 2....不支持异步,当computed内有异步操作时无效,无法监听数据的变化 3.computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过的数据通过计算得到的...如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed 5.如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;...在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。...这是和computed最大的区别,请勿滥用。嗯,就酱~

    90320

    vue3 watch和 watchEffec和 computed 对比

    watch和 watchEffect watch watch显式指定依赖数据,依赖数据更新时执行回调函数 具有一定的惰性(lazy) , 第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置immediate...它会在页面加载时主动执行一次,来收集依赖;而watch至少要有两个参数(第三个参数是配置项),第一个参数是侦听的数据,第二个参数是回调函数 结果不同:watchEffect 获取不到更改前的值;而watch可以同时获取更改前和更改后的值...watchEffect与computed watchEffect与computed有点像: 但是computed注重的计算出来的值(回调函数的返回值),所以必须要写返回值。...computed若是值没有被使用时不会调用,但是watchEffect始终会调用一次

    80510

    Vue中的computed和watch的区别

    Vue项目开发中,有这么两个属性比较容易混淆,如果不特别注意,用法比较相似,这两个属性就是computed和watch,其实这两个还是有很大差别,下面就讲讲这两个属性的用法及不同 先说说为什么比较像,我们看下面代码...通过代码和gif可以看到当我输入框在变的情况下,b和c数据始终保持一致,这种效果项目中可能会用到。所以说很多人容易混淆,分不清用法。接下来就说说他们的用法和不同。...1 computed:计算属性 computed官方定义计算属性,模板内使用表达式是非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。...computed里的数据有get和set方法,但是我们常用的是get方法,一般很少用set方法。...3 总结 Computed特点: 需要主动调用,具有缓存能力只有数据再次改变才会重新渲染,否则就会直接拿取缓存中的数据。

    8351613

    从业务开发中重新理解Computed和Watch

    Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性。当你有一些数据需要随着其它数据变动而变动时。然而,通常更好的做法是使用计算属性而不是命令式的 watch 回调。...: { getNumber() { // 匹配水果和水果数量 }, }, }; 复制代码 场景三 当我们需要不同操作来请求不同表格数据watch就排上了用场...因为最近在关注如何构建一个可维护的代码,这里又让我更深刻的理解了好的命名对于代码的意义,扯远了,哈哈。 通过监听我们的操作,当它改变的时候就回去请求数据以及一系列我们想做的事情。...从这里也就看到了体现了它与computed的区别。也是希望以后面试官不要在问这个问题了,它俩有什么异同,一个是计算,一个是监听,就这么简单,并没什么异同,它们本就是两个东西。...,聊一聊关于computed和watch的那点事,后续继续分享computed与watch的源码 computed 多个数据进行计算用 能缓存结果 watch 根据一个数据的变化来用 支持同步和异步操作

    45000

    Vue 里的 computed 和 watch 的区别 ?

    相同点: computed和watch都是观察页面的数据变化的。 二....不同点: 计算属性computed(一对多,一对一) 计算属性将会混入到Vue的实例当中,所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。...1、监控自定义的变量,这个变量不可以和data、props里面的变量重复; 2、computed属性的属性值是函数默认走get方法(必须有返回值),属性都有一个get和set方法; 3、支持缓存,只有所依赖的数据发生变化才会重新计算...总结 computed 1、computed是计算属性,也就是依赖某个值或者props通过计算得来得数据; 2、 computed的值是在getter执行之后进行缓存的,只有在它依赖的数据发生变化,...(){ return this.firstName + this.secondName } fullName是由firstName和secondName影响的,这种情况就适合computed;

    57220

    Vue的computed和watch的细节全面分析

    } } fullName不可在data里面定义, 如果定义会报如下图片的错误,因为对应的computed作为计算属性定义fullName并返回对应的结果给这个变量,变量不可被重复定义和赋值...1.3 get和set用法 data: { firstName: 'Foo', lastName: 'Bar' }, computed: { fullName:{ get...:{ secondChange(){ console.log('second属性值变化了') } }, 3 computed和watch的区别 3.1 computed...4.2 应用2 计算或监听父传子的props值 4.3 应用3 分为简单数据类型和复杂数据类型监听,监听方法如上watch的使用 4.4 应用4 监听vuex的state或者getters值的变化 computed...vue中$watch源码阅读笔记 6 简单实现computed和watch 公共类 function defineReactive(data, key, val, fn) { let subs

    1.9K20

    vue3.0 源码解析三 :watch和computed流程解析

    连载文章是大致是这样的,可能会根据变化随时更改: 1 数据绑定原理(上) 2 数据绑定原理(下) 3 computed和watch原理 4 事件系统 5 ceateApp 6 初始化mounted和patch...知道了watch 和 watchEffect 用法之后,我们来看看watch 和 watchEffect原理,废话不说直接上源码。...三 computed计算属性 之前讲的watch侧重点是对数据更新所产生的依赖追踪,而computer侧重点是对数据的缓存与处理引用,这就是watch和computed本质的区别,computed计算属性...} 无论是vue3.0 特有的Composition API,还是 vue2.0的options形式,最后走的逻辑都是computed,Composition AP和options初始化流程会在接下来的章节中讲到...②依赖收集:当我们引用computed属性的时候,会调用track方法进行依赖收集,会执行和响应式一样的流程,这里重要的是,当在收集本身computed对象依赖的同时,会调用runner()方法,runner

    1.1K50

    Vue核心知识:computed、methods和watch的区别

    从作用机制上: methods,watch 和 computed 都是以函数为基础的,但各自却都不同 watch 和 computed 都是以 Vue 的依赖追踪机制为基础的,当某一个数据发生变化的时候...而不像 watch 和 computed 那样,“自动执行”预先定义的函数,相比于 watch / computed,methods 不处理数据逻辑关系,只提供可调用的函数 从性质上: methods...computed 是计算属性,事实上和 data 对象里的数据属性是同一类的(使用上)。...watch:类似于监听机制+事件机制 watch 和 computed 区别 功能上:computed是计算属性,watch是监听一个值的变化,然后执行对应的回调。...: { name () { return `${this.firstName} ${this.lastName}` } } }) 使用 methods ( 结果和 computed

    5.9K11
    领券