【Angular2】遍历嵌套实体生成数组

前端之家收集整理的这篇文章主要介绍了【Angular2】遍历嵌套实体生成数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

需要根据实体生成一个数组,存放初始数据

实体是ExamPaperModel(试卷),其中一个属性为QuestionTypeList,包含的是实体QuestionTypeModel(题型),题型实体中有一个属性为QuestionMainList,包含的是实体QuestionMainModel(题干)

现在整个试卷实体是从后台返回,然后传递到该组件,该组件要在页面渲染前生成数组存放初始的题干答题状态


代码

answers:Answer[]=[]; //声明一个空数组,记得加后面的=[]
ngOnInit() {
    setTimeout(() => { this.exampaper.paperQuestionTypeList.forEach((val,index,array) => { //val为当前值,index为当前索引,array为整个集合 (<PaperQuestionTypeModel>val).questionMainList.forEach((val,array) => { //声明一个answer对象存放初始值 let answer = new Answer; answer.id = (<QuestionMainModel>val).id; answer.done = true; answer.answer = ""; this.answers[index] = answer; }) }) },0); }

在这里最好把代码放在setTimeout,否则会报一个 Cannot read property ‘paperQuestionTypeList’ of undefined错误


小结

最后没有用这个解决方案,利用Angular的其它机制实现了功能 但是,在生成数组的过程中,遇到了一些问题,所以在此记录一下

猜你在找的Angularjs相关文章