在一个有角度的项目上工作,我创建了一个接口文件,我在其中做了两件事:
定义接口:
export interface tableHeader {
roundNumber: string;
eighteenHoleScore: string;
nineHoleScore: string;
courseRating: string;
slopeRating: string;
scoreDifferential: string;
}
创建一个变量来保存字符串数组:
export const roundHeader = [
roundNumber: 'Round Number',
eighteenHoleScore: '18 Hole Score',
nineHoleScore: '9 Hole Score',
courseRating: 'Course Rating',
slopeRating: 'Slope Rating',
scoreDifferential: 'Score Differential'
]
对于在
roundHeader
const 中创建的每个变量,我都收到上述 2304 错误。 我浏览了该网站,没有看到任何可以回答这个问题的内容,我在谷歌上发现了很多与“require”相关的内容,但在这种情况下,它与 require 无关。
我只是尝试创建一个接口来定义每个变量类型,然后在同一文件中创建静态文本,以便我可以将此静态文本导出到我的应用程序的多个页面。
非常感谢任何帮助
您需要定义
roundHeader
类型。
数组仅包含值,而不包含键值。
如果您想使用数组接口,请使用对象数组:
interface tableHeader {
roundNumber: string;
eighteenHoleScore: string;
nineHoleScore: string;
courseRating: string;
slopeRating: string;
scoreDifferential: string;
}
const roundHeader: tableHeader[] = [
{
roundNumber: "Round Number",
eighteenHoleScore: "18 Hole Score",
nineHoleScore: "9 Hole Score",
courseRating: "Course Rating",
slopeRating: "Slope Rating",
scoreDifferential: "Score Differential",
},
];
您的答案的替代方案:
如果你想要静态文本,为什么不使用
enum
?:
enum TableHeader{
roundNumber= "Round Number",
eighteenHoleScore= "18 Hole Score",
nineHoleScore= "9 Hole Score",
courseRating= "Course Rating",
slopeRating= "Slope Rating",
scoreDifferential= "Score Differential",
}
const somewhereNeedsRoundNumber = TableHeader.roundNumber
也许您的案例就是我们的朋友 Jastria Rahmat 所展示的。不过,这里只是澄清一些事情:
当你声明你的接口时,一切都很好,但是当创建你的 const 时,你没有明确说明该 const 是什么类型,可以通过执行
export const roundHeader: tableHeader
来完成什么(最好以大写字母开头的类型/接口名称)。
另一个问题是你的
roundHeader
是一个数组,并且你尝试向其中添加 key-value 对,而正确的做法是创建一个 JS 对象而不是该数组,变得像这样:
export const roundHeader: TableHeader = {
roundNumber: 'Round Number',
eighteenHoleScore: '18 Hole Score',
nineHoleScore: '9 Hole Score',
courseRating: 'Course Rating',
slopeRating: 'Slope Rating',
scoreDifferential: 'Score Differential'
};
如果您确实想要包含这些字段的对象数组,只需按照 Jastria 的回答即可,得到类似于以下内容的内容:
export const roundHeader: TableHeader[] = [
{
roundNumber: "Round Number",
eighteenHoleScore: "18 Hole Score",
nineHoleScore: "9 Hole Score",
courseRating: "Course Rating",
slopeRating: "Slope Rating",
scoreDifferential: "Score Differential",
},
// ...
// other objects with the same fields
]