computed和watch

这篇具有很好参考价值的文章主要介绍了computed和watch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

computed:
写法:

import {computed} from 'vue'
setup(){
---
//计算属性—简写
let fullName = computed(()=>{
return person.firstName + '-' + person. lastName})
//计算属性-完整
let fullName = computed({
get(){
return person.firstName + '-' +person. lastName},
set(value){
const nameArr = value.split( '-')person.firstName = nameArr[e]person. lastName = nameArr[1]
})
}

watch,第一个参数是要监听的对象,第二个参数是监听的方法,第三个参数是监听的配置

两个小“坑”:
1.监视reactive定义的响应式数据时: oldValue无法正确获取、强制开启了深度监视(deep配置失效)。
2.监视reactive定义的响应式数据中某个属性时: deep配置有效。

数据:
computed和watch

情况一:监视ref所定义的一个响应式数据

watch(sum, (newValue,oldvalue)=>{
console.log('sun变了', newValue,oldValue)},{immediate:true})

情况二:监视ref所定义的多个响应式数据

watch([sum,msg], (newValue,oldvalue)=>{
console.log( 'sum或msg变了' ,newValue,oldValue)},{immediate:true})

情况三:监视reactive所定义的一个响应式数据的全部属性

watch(person, (newValue,oldValue)=>{
console.log( 'person变化了',newValue,oldValue)}.{deep:false})
//此处的deep配置无效

情况四:监视reactive所定义的一个响应式数据中的某个属性

watch(()=>person.name ,(newValue,oldValue)=>{
console.log( ' person的name变化了', newValue,oldvalue)})

情况五:监视reactive所定义的一个响应式数据中的某些属性

watch([()=>person.name,()=>person.age], (newValue,oldvalue)=>{console.log( 'person的name或age变化了' , newValue,oldValue)
})

特殊情况

watch(()=>person.job,(newValue,oldvalue)=>{
console.log( 'person的job变化了' , newValue,oldValue)
}, { deep:true})
//此处由于监视的是reactive素定义的对象中的某个属性,所以deep配置有效

watch和value的问题:

如果我们将上面监视person的reactive改成ref那么如何进行监视??
computed和watch
这个里面的value才是reactive生成的!!!

写法1:
computed和watch
写法2:
computed和watch


watchEffect函数

不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性。

computed和watch文章来源地址https://www.toymoban.com/news/detail-424240.html

//watchEffect所指定的回调中用到的数据只要发生变化,则直接重新执行回调。
watchEffect(()=>{
const x1 = sum.valueconst x2 = person. age
c6nsole.log( ' watchEffect配置的回调执行了')

到了这里,关于computed和watch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web前端 ---- 【Vue3】computed计算属性和watch侦听属性(侦听被ref和reactive包裹的数据)

    目录 前言 computed watch watch侦听ref数据 ref简单数据类型 ref复杂数据类型 watch侦听reactive数据 本文介绍在vue3中的computed计算属性和watch侦听属性。介绍watch如何侦听被ref和reactive包裹的数据 在vue3中,计算属性computed也是组合式api,也就是说要先引入,再在setup中使用 语法 完整:

    2024年01月18日
    浏览(62)
  • 【Vue2从入门到精通】Vue监听器watch,计算属性computed,方法methods的区别及使用场景

    ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:vue2从入门到精通 【分享几个国内免费可用的ChatGPT镜像】 【10几个类ChatGPT国内AI大模型】 【用《文心一言》1分钟写一篇博客简直yyds】 【用

    2023年04月15日
    浏览(49)
  • Vue3通透教程【六】setup语法糖、computed函数、watch函数

    专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓三大框架使用人数最多,公司选型最多的框架,凉哥之前在文章中也提到过就是 Vue 框架之所以火起来的原因,和 Vue 框架相比其

    2024年01月20日
    浏览(47)
  • 浅谈Vue的属性,computed和watch

    是什么? 直接上demo,了解一下语法先~ conputed是 计算 属性,watch是 监听 属性,本质上都是同一个 watcher实例 ,它们都是 通过响应式系统与数据,页面建立通信 。 computed带有 \\\"懒计算\\\" 功能 监听的逻辑有差异 :computed是依赖的值变了,它去重新求值,watch是目标值变了,它去

    2024年01月18日
    浏览(45)
  • 八、vue_options之computed、watch属性选项

    computed计算属性初体验: 在我们通过Vue调用createApp方法传入一个对象的时候,我们之前写了data属性、methods属性,这一次我们新增一个computed属性,对应的是一个对象,对象里面可以写很多计算属性,fullname是对象里面的key,此时我们需要给他对应一个值,计算属性对应的值是

    2023年04月23日
    浏览(45)
  • 【Vue3】setup的注意点及watch监视属性的六种情况

    1.1setup的执行时间 1.setup的执行时间要比beforCreate执行要早 1.2.steup参数 setup的参数 1.props: 值为对象,包含: 组件外部传递过来,且组件内部声明接收了的属性 2.context:上下文对象 ①attrs:值为对象,包含: 组件外部传递过来,但没有在props配置中声明的属性,相当于 this.$attrs ②sl

    2023年04月22日
    浏览(40)
  • vue 计算属性未重新计算 / computed 未触发 / computed 原理&源码分析

    点击可打开demo 这里在一秒后改了数组里value属性的值 虽然数据有更新,但打开控制台,可以发现computed函数只在初始化时执行了一次 按理说一秒后改变了value值,应该执行两次才对呀? 但如果computed属性这样写,明确写明展开了每一项,获取到了value属性,就能执行第二次

    2024年02月06日
    浏览(49)
  • computed计算属性

    今天主要介绍我所理解的computed计算属性 1. computed计算属性依赖于他的属性变化而变化 也就是依赖于data中的属性 只要依赖的data发生变化 就会触发调用一次计算属性 2. computed计算属性拥有缓存性 值可以直接从缓存中获取 而不是重新编译执行一次 所以说computed计算属性性能高

    2024年02月09日
    浏览(43)
  • Vue计算属性Computed传参

    关于computed计算属性传参的问题,因为computed是计算属性,如果给conputed传参则会直接报错,并且报computed is not function。 解决办法: 方法一: 通过返回函数来进行传参: 代码: 分析: 既然计算属性不能做函数一样进行传参,但是computed有一个 return 我们可以利用起来,所以我

    2024年02月16日
    浏览(56)
  • 【Vue3】computed 计算属性

    computed 是计算属性,它会根据响应式数据的变化⾃动计算出新的值,并缓存结果,只有在计算属性所依赖的响应式数据发⽣改变时才会重新计算。 computed 适⽤于需要根据响应式数据计算得出结果的场景,例如根据商品的数量和单价计算商品的总价,或者根据选中的过滤条件过

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包