vue3中计算属性和监视

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不是响应式的数据
})
上一篇:在vue3中使用vuex


下一篇:vue3面试题目