You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js新手求教:如何将TypeScript模型与组件分离

实现步骤

1. 新建类型文件并导出Forecasts

创建一个独立的TypeScript文件(例如src/models/ForecastModel.ts,路径可根据项目结构调整),在其中声明并导出目标类型:

// src/models/ForecastModel.ts
// 先定义单条预报的类型(可选,但更灵活)
export type ForecastItem = {
  date: string,
  temperatureC: string,
  temperatureF: string,
  summary: string
};

// 导出数组类型,对应原来的Forecasts
export type Forecasts = ForecastItem[];

也可以直接导出组合后的数组类型,无需单独定义ForecastItem:

// 简化写法
export type Forecasts = {
  date: string,
  temperatureC: string,
  temperatureF: string,
  summary: string
}[];

2. 在原组件文件中导入并使用

修改你原来的Forecast.ts文件,删除原有Forecasts类型定义,替换为从新文件导入:

// src/scripts/Forecast.ts
import { defineComponent } from 'vue';
// 根据实际文件路径调整导入路径
import { Forecasts } from '../models/ForecastModel';

interface Data {
  loading: boolean,
  post: null | Forecasts
}

export default defineComponent({
  data(): Data {
    return {
      loading: false,
      post: null
    };
    // ... 剩余代码
  }
});

3. 迁移Data接口(后续操作)

如果要把Data接口也分离出去,方法完全一致:

  • 在类型文件中新增并导出Data接口:
// src/models/ForecastModel.ts
export interface Data {
  loading: boolean,
  post: null | Forecasts
}
  • 在原组件文件中导入Data:
import { Forecasts, Data } from '../models/ForecastModel';

内容的提问来源于stack exchange,提问作者bilpor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:02:23