我正在尝试开发一个 Web 应用程序,它向用户显示一组问题。问题根据类别进行隔离。该应用程序是使用 Angular6 开发的。使用后端 REST 服务获取问题。在客户端创建一个接口来模拟 REST 响应结构,该结构具有多个子接口来支持复杂的内部结构。响应将被映射为此接口的列表。以下是接口的结构。
我的意图是迭代List<ICategoryQuestion>
,显示带有所有选项的问题,并使用用户选择的选项填充selectedAnswer。
由于我在整个应用程序中都遵循 ReactiveForm 方法,因此我想创建一个具有类似结构的FormGroup,假设它可以帮助我轻松地将selectedAnswer映射回列表。这将有助于使用另一个再次接受List<ICategoryQuestion>
.
现在真正的挑战是创建一个具有相似结构的FormGroup 。起初,我创建了一个包含整个List<ICategoryQuestion>
.
mainFormGroup: FormGroup = this.formBuilder.group({
categoryQuestionList: this.formBuilder.array([]);
});
现在我必须控制数组(categoryQuestionList),然后将类别填充到它。
代码是类似的东西。
let categoryQuestionListControl = <FormArray> this.mainFormGroup.get("categoryQuestionList");
//iterate the **`List<ICategoryQuestion>`** create a FormGroup //representing each ICategoryQuestion and push it to the `categoryQuestionListControl`.
iterate list{
categoryQuestionListControl.push(this.getCategoryQuestionFormGroup(categoryQuestion));
}
现在 categoryQuestionFormGroup 又有一个,它内部又保存了一个IOptionsList<IQuestionAnswer>
数组,这会使代码更复杂。
您认为处理此类情况的理想方式是什么?我想在这里使用模板驱动方法吗?我什至怀疑我是否遵循正确的方法,因为我是 Angulat 2+ 的新手。
好心提醒。