将对象推送到Angular应用程序中的基类数组对象时出错

时间:2018-03-13 08:49:32

标签: json angular typescript

我正在开发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;
  ]

1 个答案:

答案 0 :(得分:0)

您应该发布整个堆栈跟踪,而不仅仅是几个字。我们不是你知道的通灵者。

此外,您应该发布您的整个代码,而不仅仅是您想要的部分。如果您不知道自己的错误,那么您可能不知道它所来自的代码片段,因此请发布您的整个代码,以便我们在其中进行搜索。

我看到的第一个问题是您使用Executor,但问题2未定义。

您的错误表明您使用的是尚未声明的变量。

您可以找到more information here