vue3+ts ref泛型限定值

 限定text.value的值必须为字符串类型

 let text = ref<string>('')

  ref的<类型>, 用来限定后面括号的类型, 同时限定变量.value的类型

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 + TypeScript 中,是一个非常常用的技巧,可以帮助我们编写出更加通用、可复用的代码。下面是一个的高级运用实例: 假设我们有一个表单组件,它的数据模是一个对象,其中每个属性都有一个对应的输入框,我们可以编写一个 `Form` 组件来实现这个表单。为了让 `Form` 组件更加通用,我们可以使用来实现: ```typescript // 定义表单数据模的类 interface FormModel { [key: string]: any } // 定义表单项的类 interface FormItem<T> { label: string prop: keyof T } // 定义表单组件的 props 类 interface FormProps<T extends FormModel> { model: T items: Array<FormItem<T>> } // 定义表单组件 export default defineComponent<FormProps<FormModel>>({ name: 'Form', props: { model: Object as PropType<FormModel>, items: Array as PropType<Array<FormItem<FormModel>>> }, setup(props) { const handleSubmit = () => { // 处理表单提交逻辑 } return { handleSubmit } } }) ``` 在上面的代码中,我们定义了一个 `Form` 组件,它接收两个 props:`model` 和 `items`,其中 `model` 是一个,它可以是任意一个类似于表单数据模的对象,`items` 是一个数组,其中每个元素都是一个 `FormItem` 类的对象,表示一个表单项。在组件中,我们使用 `keyof` 关键字来获取 `T` 的所有属性名,然后使用 `Array<FormItem<T>>` 来表示 `items` 的类,这样就可以在使用组件时传入任意一个数据模和表单项,从而实现组件的通用性和灵活性。 以上是一个 Vue 3 + TypeScript 中的高级运用实例,通过使用,我们可以编写出更加通用、可复用的组件和方法,从而提高代码的复用性和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值