Vue.js 的实例中可以定义 computed(计算属性)
、methods(方法)
和 watch(侦听)
3个属性。在很多情况下,这3个属性都能完成同一个任务(例如输入一串字符串,然后把它反转输出),下面对这3个属性稍微深挖一层。
-
computed
- 会把输出结果缓存起来,只有当其内部的依赖数据(data 中的数据)改变时才会改变。适用于比较费时的数据计算 -
methods
- 只要实例被更新,都会被触发执行,适用于需要实时性的数据 -
watch
- 侦听 data 中数据的变化,在方法中会传入 newVal 和 oldVal。可用于 输入值无效、提供中间值 等场景。不过这个属性还是有一定深度的,可以参看官方的文档。