我是Angular和Typescript的新手,我在for循环中遇到错误。有人可以帮我解决我做错的事吗?
steps=[];
totalNumberofSteps=3;
for (let idx = 0; idx <= totalNumberofSteps; idx++) {
this.steps.push({ ordinal:idx, name: (idx == this.totalNumberofSteps) ? 'Finish' : idx});
};
错误: Visual Code IDE出错
[ts]重复的标识符&#39; idx&#39;。
[ts]重复的标识符&#39; idx&#39;。
[ts]&#39;,&#39;预期
- [ts]参数初始值设定项仅允许在函数或构造函数实现中使用。
- (参数)idx:number
答案 0 :(得分:2)
您不能在类主体中编写类似for
循环的语句。他们必须进入构造函数或方法体
class C {
constructor() {
}
// Invalid
for(let i = 0; i < 1; i++) {
}
}
VS
class C {
constructor() {
// OK
for(let i = 0; i < 1; i++) {
}
}
}
答案 1 :(得分:1)
您的代码有误,您必须在条件语法中将;
替换为:
,例如此代码:
class TestCode {
execute() {
let steps = [];
let totalNumberofSteps=3;
for (let idx = 0; idx <= totalNumberofSteps; idx++) {
steps.push({
ordinal:idx,
name: (idx == totalNumberofSteps) ? 'Finish' : idx
});
console.log(steps);
}
}
}
let test = new TestCode();
test.execute();