TypeScript中如何正确填充item数组的ConfiguredSegments字段?
问题解决:正确填充TypeScript接口对应的Mock数据
错误原因
你报错的核心问题是把接口类型当成了实际存在的对象/值来使用。ConfiguredSegments是你定义的TypeScript接口,它仅用于类型校验,编译后不会生成任何实际的JavaScript对象,自然无法通过ConfiguredSegments.LiveA访问任何属性。
正确填充方式
你需要创建一个完全符合ConfiguredSegments接口结构的字面量对象,同时嵌套符合LiveA接口的对象。具体实现如下:
1. 先在mockitems.ts中导入所需接口
import { item } from './items';
2. 构造符合接口结构的mock数组
export const items: item[] = [ { Name: "Default Item", IsSystemItem: "yes", ConfiguredSegments: { LiveA: { Weight: 50, // 填入符合number类型的数值 Id: "live-a-default" // 填入符合string类型的标识 } } } ];
补充说明
- TypeScript的接口是类型契约,仅在编译阶段校验数据结构是否合规,不会在运行时生成实体对象。
- 所有嵌套字段都需要按照对应接口的类型要求,填充实际的有效值,不能直接引用接口名称。
内容的提问来源于stack exchange,提问作者Mr.Curious
相关产品推荐
相关产品推荐

