首选在src下创建一个文件夹types,然后创建一个index.ts

export interface PersonData {
name: string
age: number
sex?: string
}
export interface StudentData {
subject: string
score: number
}
export type PersonDataList = PersonData[]
在vue文件中的使用,使用定义的接口引入必须在导入包中加入type,必须按着规范名字使用,不然会提示报错,如下

<script setup lang="ts">
import { type PersonData, type PersonDataList, type StudentData } from '@/types'
import { reactive } from 'vue'
let person: PersonData = {
name: '王五',
age: 18
}
let personList: PersonDataList = [
{
name: '马六',
age: 25
},
{
name: '小黄',
age: 20
}
]
let personLists = reactive<PersonDataList>([
{
name: '马六',
age: 25,
sex: '男'
},
{
name: '小黄',
age: 20
}
])
const student: StudentData = {
subject: '语文',
score: 44
}
</script>
<template>
<div>
<h1>{{ person.name }}</h1>
<h2>{{ student.subject }}</h2>
<h3>{{ personList[0].name }}</h3>
</div>
</template>
<style scoped></style>