computed 和 watch

100 阅读1分钟

computed-计算属性

用途

被计算出来的属性就是计算属性

用户名展示

列表展示不用 computed 筛选男女 | 用 computed 筛选男女

缓存

如果依赖的属性没有变化,就不会重新计算

getter/setter默认不会被缓存,Vue做了特殊处理

如何缓存?看示例。这是示例,不代表Vue这样实现

watch-侦听

用途

当数据变化时,执行一个函数

撤销 | 模拟computed

何为变化

示例

简单类型看值,复杂类型看地址

watch完整语法

文档

  • vm.$watch('xxx',fn,{deep: ..., immediate: ...})

  • immediate就是第一次渲染时是否执行watch的函数

  • deep就是要监听对象里面的嵌套属性

  • deep的意思是,监听 object 的时候是否往深了看

  • 如果object.a变了,请问object算不算也变了

  • 如果需要的答案是也变了,就用deep:true

  • 如果需要的答案是没有变,就用deep:false