浅记vue3配合TS中定义数据及解析
定义密码表单 TS 类型(先定义表单接口类型)
interface PwdForm { old_pwd: string new_pwd: string re_pwd: string }然后再创建一个响应对象,强制它遵守这个结构
const pwdForm = ref<PwdForm>({ old_pwd: '', new_pwd: '', re_pwd: '' })以上是定义了表单的数据
以下是定义接口返回数据的类型
interface UpdatePwdResult { code: string | number message: string [key: string]: any }1、[key: string]: any //这句话的意思是除了返回 code 和 message 之外,可能还会返回别的字段,我都允许(any 意思就是可以接收返回的任何参数数据)
2、将 [key: string]: any 拆开理解:
[key: string] 对象的 “键名” 是字符串类型(意思这个就是定义键名的,后面的 any 意思就是键名下可以带任何类型的数据)
any 表示键名对应的值可以是任意类型,包括字符串、数字、布尔值、对象、数组等。
3、这样定义后,UpdatePwdResult 接口就允许返回任意键名和对应类型的值,而不是只限制 code 和 message。以下是定义调用接口返回的方式:
const changePaswd: UpdatePwdResult = await userUpdatePassService(pwdForm.value)如果开始没有定义 UpdatePwdResult 的话,可以先使用 any 接收数据,再定义类型,写法如下:
const changePaswd: any = await userUpdatePassService(pwdForm.value)
