computed(计算属性)
computed
具有缓存的特性,只有依赖值发生变化才会重新计算
computed
都包含一个 getter 方法和一个 setter 方法
computed
不支持异步
computed
必须用return返回
computed
默认第一次加载时候就监听
watch(侦听器)
watch
不具有缓存的特性,只要监听的值发生变化就会执行回调
watch
支持异步
watch
不是必须return
watch
默认第一次加载不做监听,如果需要加载就执行一次的话可以使用immediate
属性设置为true
应用场景
computed
当一个值被多个值影响的时候使用—购物车
watch
当一个值影响多个值的时候使用—搜索框
computed 和 methods 的区别
computed
是响应式的,methods
不是computed
是带缓存的,只有当它依赖的值发生变化才重新计算,而methods
没有缓存性- 调用的方式不一样,
compued
定义的成员像data
里面的属性一样访问,methods
定义的成员必须以函数的形式访问
<!-- computed这样调用 -->
{
{msg}}
<!-- methods这样调用 -->
{
{msg()}}