使用 计算属性 来描述依赖响应式状态的复杂逻辑
计算属性与方法区别:
1. computed 是带缓存的,如果被依赖的变量不发生变化,则下次调用 computed 时不会重新计算结果。
但是 methods 则是每次调用都会重新运行以得出实时的结果。
2. methods 调用需要加 ()
3. computed 依赖响应式变量 (ref,reactive) ,不可传值; methods 可以传值
计算属性和侦听属性有什么区别?怎样选择
1、computed不会主动监听数据变化,但是watch会去主动监听,也就是说watch会主动处理数据变化,computed是依赖数据变化才去计算。
2、computed在依赖数据未发生改变时/或者没有依赖数据,自动缓存到应用中,下次获取时不重新计算。
各自使用场景:
watch:适合处理 一个数据影响多个数据,理数据相互独立的场景,主动监听
computed:适合处理多个数据影响一个数据时,数据相互不独立的场景。
import { computed, ref } from "vue"; const count = ref(0); //声明 const twofold = computed(() => { return count.value * 2; });