vue3 对于 ref 值的类型定义
从 vue2 到 vue3 之后,所有变量值都需要添加 ref()
const name = ref('kyle')
意思是 vue3 变量由 vue 来控制,上面的 name 变量值并不是原始的字符串 kyle
而是被套了一层类型为 Ref
的对象。
使用的时候
console.log(name.value)
// 输出 `kyle`
上面这个完整的定义其实是这样的
import {Ref} from "vue"// 以下三个定义等价
const name: Ref<string> = ref<string>('kyle')
const name: Ref<string> = ref('kyle')
const name = ref('kyle')
平常不在变量后面声明它的类型 Ref
的原因是,ref()
方法本身就返回值类型就是 Ref
,你可以查看 ref()
的定义:
类似 string number 类型都不需要刻意去定义一样:
const name = 'kyle'
const age = 34// 等同于
const name: string = 'kyle'
const age: number = 34