19.watch与computed的区别和计算属性与方法相比

书诚小驿2025/02/25前端面经Vue

watch 与 computed 的区别

DETAILS

侦听器 watch:侦听器是在监听的属性发生改变的时候才会触发初始时是不会触发的 计算属性: 计算属性虽然是对象方法,但是以属性的方式进行使用,并且默认是只读的

计算属性适合:多个值去影响一个值的应用;而侦听器适合:一个值去影响多个值的应用, 同时侦听器支持异步的程序,而计算属性不支持异步的程序。 如计算一个加法,由两个变量得出加法的和,这是就需要用到计算属性,而侦听器一般是在异步加载请求后,对后端返回的 api 进行处理。

计算属性与方法相比

DETAILS
  1. 调用方法时计算属性computed

若写在 methods 里需要再方法后加上(),如果是写在 computed 里,直接写上方法名即可调用

//methods
handleClick();
//computed
handleClick;
  1. 具备缓存的能力,而方法不具备缓存,在依赖的数据未改变时,即使调用了两次相同方法,计算属性只执行一次,而在 methods 里会执行两次。且计算属性只读取不能修改,要想修改,得修改最终依赖的东西。
最后更新时间' 2025/3/10 02:17:16