Vue- computed和watch

192 阅读1分钟

computed

  • 名词解释: 计算属性

  • 作用:计算出值

  • 特点:

    1. 由于本身计算出了值,所以在调用的时候直接作为属性调用,不需要像调用函数那样加括号
    2. 根据依赖会自动缓存,如果依赖不变,computed的值也不会再重新计算(某个计算属性执行过一次,如果再次调用,不会重新计算,因为这个属性计算结果已经缓存)

    watch

  • 名词解释:监听

  • 作用: 监听数据的变化,根据变化执行某些功能

  • 特点:有以下两个选项

    1. immediate:是否在第一次渲染的时候执行某个函数
    • 第一次渲染(从无到有)默认不算变化 ,不执行监听操作 immediate:false
//基本结构
被监听的数据:{
handler(){数据变化执行的操作},
immedate: true/false  //是否立即监听变化

}
  1. deep:如果监听对象,是否监听对象内部属性的变化
    • 一obj:{a:'a'}为例

    • 对象obj存的是{a:'a'}的地址,当obj.a=其他数值,obj存的地址不变,那么对象不变

    • 当对象obj=obj2,存的是另一个对象地址,地址变,对象变

    • deep选项判断是否深入判断,当deep:true时,只要对象内的一个属性变化,obj都算做变化