前言
在Vue 3 + TypeScript项目中,将TypeScript相关的代码分离到单独的文件可以提高代码的可维护性和可复用性。
页面或组件的分离
模板
TestView.vue
1 | <template> |
TS
TestView.ts
1 | import { ref, onMounted } from "vue"; |
注意
下面的这种方式是不建议的,像
onMounted
是不会触发的。
在分离的TS中导出
1 | export const dataList: TNews[] = reactive([]) |
在页面中导入
1 | import { |
样式
TestView.less
1 | .test_view_root { |
setup语法糖
并不是所有的语法都能在分离的TS中写。
有部分 API 和语法通常是在 <script setup>
中使用,如
示例
defineProps
:用来定义组件接收的 props,支持类型推导,让代码在 TypeScript 环境下类型更安全。
1 | <template> |
defineEmits
:用于定义组件可以触发的自定义事件,同样支持类型检查。
1 | <template> |
defineModel
:该 API 用于在组件中创建双向数据绑定,允许子组件和父组件之间进行双向数据同步。
1 | <template> |
怎样分离
模板
1 | <template> |
分离的TS
1 | import { Ref } from 'vue'; |
工具类的分离
将一些通用的工具函数提取到单独的 .ts
文件中。
示例步骤
创建工具函数文件:例如,创建一个名为 utils.ts
的文件,定义一些工具函数。
1 | // utils.ts |
在组件中使用工具函数:在组件中引入并使用 formatDate
函数。
1 | <template> |
通过以上方法,你可以将不同类型的TypeScript代码分离到单独的文件中,使代码结构更加清晰。