computed: 有缓存,data 不变不会重新计算;提高性能。
computed 为什么需要缓存?简单说就是可以提高性能。假设我们有一个性能开销比较大的计算属性A,它需要遍历一个巨大的数组做大量的计算,然后我们可能有其他的属性依赖于A,如果没有缓存,将不可避免的多次执行A 的getter,如果不希望有缓存请用方法代替
computed 和 methods的区别: computed 计算属性是基于它的响应式依赖进行缓存的,只在相关响应式依赖发生改变时它们才会重新求值,这意味着只要原属性还没发生改变,多次访问相关属性,计算属性会立即返回之前的计算结果,而不必再次执行函数;而 methods 每当触发重新渲染时,调用方法总会再次执行函数
computed 和 watch的区别:computed 默认只要 getter,不过需要时也可以提供 setter;watch 侦听器,当需要在数据变化时执行异步或开销较大的操作时,watch是最有用的,使用 watch选项允许执行异步操作(访问一个API),限制我们执行该操作的频率,并在得到最终结果前,设置中间状态,这些都是计算属性无法做到的
computed 是属性
- 当需要根据已有数据产生一些派生数据的时候,可使用计算属性
- 注意:计算属性不支持异步操作,因为计算属性一般要绑定到模板中
- 更重要的一点是:计算属性会缓存调用的结果,提高性能
- 计算属性必须有返回值,没有返回值就没有意义
watch 是一个功能:
- watch不需要返回值,根据某个数据变化执行xx逻辑
- watch可以执行异步操作
computed 和 watch的使用场景:如果一个数据需要经过复杂计算就用 computed;如果一个数据需要被监听并且对数据做一些操作就用watch;watch擅长处理的场景:一个数据影响多个数据;computed擅长处理的场景:一个数据受多个数据影响。
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习
上一篇: 故障排除解决SparkSQL导致的JVM栈内存溢出_大数据培训
下一篇: 故障排除持久化与checkpoint的使用_大数据培训