我正在开发Angular 5应用程序,并且数据采用JSON格式。我需要根据变量'QuestionElementType'类型创建特定类型的类的实例。例如,如果type是textbox然后是TextboxQuestion类的特定记录,万一是Dropdown然后DropdownQuestion类等等,最后将这些对象推送到基类的类型,即让问题2:QuestionBase [];
在以下尝试中我遇到代码questions2.push(_textBox);
时出错block scoped variable used before its declaration
let questions2: QuestionBase<any>[];
for(var key in questionsList)
{
let questionElementType = questionsList[key].questionElement.questionElementType[0].typeDefination;
if(questionElementType=="textbox")
{
var _textBox =
new TextboxQuestion({
key: 'firstName',
label: 'First name',
value: 'Bombasto',
required: true,
order: 5
});
console.log("_textBox",_textBox);
questions2.push(_textBox);
}
else if(questionElementType=="dropdown")
{
new DropdownQuestion({
key: 'brave',
label: 'How you Rate New steel X technology for industrial construction ',
options: [
{key: 'solid', value: 'Solid'},
{key: 'great', value: 'Great'},
{key: 'good', value: 'Good'},
{key: 'unproven', value: 'Unproven'}
],
order: 1
})
}
}
我需要最终结果
let questions: QuestionBase<any>[] = [
new DropdownQuestion({
key: 'brave',
label: 'How you Rate New steel X technology for industrial construction ',
options: [
{key: 'solid', value: 'Solid'},
{key: 'great', value: 'Great'},
{key: 'good', value: 'Good'},
{key: 'unproven', value: 'Unproven'}
],
order: 1
}),
//... other types here following;
]
答案 0 :(得分:0)
您应该发布整个堆栈跟踪,而不仅仅是几个字。我们不是你知道的通灵者。
此外,您应该发布您的整个代码,而不仅仅是您想要的部分。如果您不知道自己的错误,那么您可能不知道它所来自的代码片段,因此请发布您的整个代码,以便我们在其中进行搜索。
我看到的第一个问题是您使用Executor
,但问题2未定义。
您的错误表明您使用的是尚未声明的变量。
您可以找到more information here。