computed、watch、methods的区别

computed(计算属性)

computed具有缓存的特性,只有依赖值发生变化才会重新计算
computed都包含一个 getter 方法和一个 setter 方法
computed不支持异步
computed必须用return返回
computed默认第一次加载时候就监听

watch(侦听器)

watch 不具有缓存的特性,只要监听的值发生变化就会执行回调
watch 支持异步
watch 不是必须return
watch 默认第一次加载不做监听,如果需要加载就执行一次的话可以使用immediate属性设置为true

应用场景

computed当一个值被多个值影响的时候使用—购物车
watch当一个值影响多个值的时候使用—搜索框

computed 和 methods 的区别

  1. computed是响应式的,methods不是
  2. computed是带缓存的,只有当它依赖的值发生变化才重新计算,而methods没有缓存性
  3. 调用的方式不一样,compued定义的成员像data里面的属性一样访问,methods定义的成员必须以函数的形式访问
<!-- computed这样调用 -->
{
   
   {msg}}
<!-- methods这样调用 -->
{
   
   {msg()}}

猜你喜欢

转载自blog.csdn.net/qq_48960335/article/details/123778122