计算属性 VS 方法

如果不使用计算属性,在 methods 里定义了一个方法,也可以实现相同的效果,甚至该方法还可以接受参数,使用起来更灵活。

既然 methods 同样可以解决模板中复杂逻辑计算的问题,那么为什么还需要使用计算属性呢?

原因就是:计算属性是基于它的依赖缓存的。前面我们介绍过,计算属性的改变取决于其所依赖数据的变化,所以只要 依赖数据不发生改变,计算属性就不会更新。当我们重复获取计算属性时它也不会重复计算,只会获取缓存的值。而我 们每次调用 methods 都会重新计算一遍,这样将会消耗一部分性能。当然,如何你不希望对数据进行缓存,那么可以用方法来代替。

侦听器

通过侦听器来监听数据的变化,进行相应的逻辑处理。如何监听对象类型数据的某个属性进行侦听。


基本格式:

new Vue({
  //挂载点
  el:"#app",
  data:{
    //数据
  },
  methods:{
    //方法
  },
  computed:{
    //计算
  },
  watch:{
    //监听:提示警告
  },
  filters:{
    //过滤:格式化处理
  }
})