methods、computed和watch的区别

本文详细介绍了Vue.js中的methods、computed和watch的区别。methods用于事件处理,每次调用都会执行;computed作为计算属性,结果会被缓存,只在依赖变化时更新;watch则是用于监听数据变化,包括对路由的监听,并可以执行异步操作,其配置项包括deep、immediate和handler等。

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


methods、computed和watch的区别


一. methods

methods 方法:事件方法,调用一次执行一次,不会缓存结果;


二. computed

computed 计算: 计算属性,结果会缓存,只有依赖值发生改变才会去重新计算


三. watch

watch 监听:监听属性 (路由) , 监听数据的变化触发执行函数,也可以进行异步操作

watch 监听 数据的变化
watch 有三个参数

  1. deep(是否开启深度监听,针对复杂数据类型)
  2. immediate(是否一开始就执行一次handler函数)
  3. handler(数据发生改变执行的函数)
    注意: 当我们不需要 deep 和 immediate 的时候 就可以简写为一个函数 这个函数就是 handler
 watch: {
    num: {
      deep: true, //深度监听
      immediate: true, //进入页面立刻监听
      handler(newval) {
        console.log(newval);
      },
      //执行函数 参数是newval 和 oldval
    },

    // num() {},
    // 之前写的只有一个函数的情况 是handler的简写 不需要 deep 和 immediate的时候可以简写
  },

watch 监听路由的变化

//监听路由<==>监听 $router
  watch: {
    $route: {
      handler(newval, oldval) {
        console.log(newval, oldval);
      },
    },
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值