vue3中计算属性和监视
1、计算属性
//计算属性中如果只传入一个回调函数,表示的是get,返回的是一个Ref类型的对象
const fullName = computed(()=>{})
//两个参数
const fullName2 = computed({
get() {
return user.firstName + “-” + user.lastName
}
set(val:string) {
console.log(val)
}
})
2、监视(监视指定的数据)
watch(user,()=>{
fullName3.value = firstName+'_'+lastName
},{immediate:true,deep:true})
//当页面第一次进来的时候,并没有走此监听,当添加第二个参数的时候,则会在页面刚进来执行
//immediate默认执行一次watch,deep深度监听
//监视:不需要配置immediate,本身默认就会进行监视(默认执行一次)
watchEffect(()=>{
fullName3.value = firstName+'_'+lastName
})
watch可以监视多个数据
watch([user.firstName,user.latsName,fullName3],()=>{
console.log('===')//fullName3是响应式的,但是user.firstName和user.lastName不是响应式的数据
})
//当我们使用wacth监视非响应式数据的时候,代码需要修改一下
watch([()=>user.firstName,()=>user.latsName,fullName3],()=>{
console.log('===')//fullName3是响应式的,但是user.firstName和user.lastName不是响应式的数据
})