抛开useVModel
的第四个options参数,其基本原理其实就是使用了computed,实现代码简化如下
function useVModel(props , varName , emit){
return computed({
get(){
props[varName]
},
set(newVal){
emit('updata:modelValue' , newVal)
}
})
}
该函数返回的是一个ComputedRefImpl
类型,要访问值需要通过value
属性
const activeName = useVModel(props , 'activeName' , emit)
consolt.log(activeName.value)