监听事件,计算函数

本文深入解析Vue.js中的监听器和计算属性,探讨它们的作用、使用方法及区别。介绍如何利用监听器追踪数据变化,包括路由变化、对象属性更新,并开启深度监听。同时,阐述计算属性的定义、声明方式及其缓存机制,对比函数和监听器的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监听器和计算属性

监听器:

作用:

监听vue实例上的数据变化

怎么用
new Vue({
    watch:{
    要监听的变量(变化后的值,变化之前的值){
        // 监听的变量一发生改变就会执行这里的方法
    }
  }

})
监听路由的变化
new Vue({
    watch:{
    $route(变化后的值,变化之前的值){
        // 路由一发生改变就会执行这里的方法
    }
  }

})
  • 可以更改标题,根据不同的路由显示不同的标题
  • 解决bug,当我们路由参数变化的时候,界面不会重新初始化的bug
监听对象

默认监听的是对象的引用

当对象属性变化的时候,没有检测到对象的变化,如何解决

  1. 对对象进行深拷贝
  2. 监听对象的属性的变化
  3. 开启深度监听
new Vue({
    watch:{
    // 监听对象的属性的变化
    "obj.name"(变化后的值,变化之前的值){
        // 对象name一发生改变就会执行这里的方法
    },
    //深度监听
    obj:{
        handler(){
        对象一发生改变就会执行这里的方法
      },
      deep:true
    }
  }

})

计算属性

当某个属性的值,是依赖于别的属性生成,这个属性就可以设置为计算属性。

怎么声明:
new Vue({
    computed:{
    // 声明的时候,声名成了函数的形式
    fullName(){
      // 当他依赖的属性变化的时候,会重新计算
        return 返回值就是计算的属性的值
    }
  }
})

用的时候当做普通的属性使用即可

计算属性的赋值

计算属性绝大多数是不需要的赋值的

new Vue({
    computed:{
    // 声明的时候,声名成了函数的形式
    fullName:{
      get(){
        // 获取数据的时候会执行get
        return       },
      set(value){
        // 设置数据的时候会执行set
      }
    }
  }
})
总结:
  • 他是依赖于其他属性的,是其它属性的一个派生。
  • 声明的时候声明成函数的,但是使用的时候当做属性使用的
  • 计算属性会缓存,只有它依赖的属性变化的时候才会重新计算

计算属性、函数和监听器

  • 计算属性: 本质上是一个属性,它别的属性的一个派生。 计算属性会进行缓存,只有它依赖的属性发生的时候才会重新计算(不能写异步操作的)
  • 函数: 一般是写业务逻辑的地方
  • 监听器: 当我们需要在某写属性变化的时候做一些业务处理的时候,需要用到监听器。(可以添加异步操作)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值