Я довольно новичок в Angular, поэтому я нахожу эту часть запутанной. Я пытаюсь отобразить список вопросов, полученных из базы данных (ASP.NET Core 2.0 в качестве веб-API) и показать их параметры для каждого вопроса. Вопросы и варианты находятся в отношении «один ко многим» (проектирование базы данных).
Однако я не знаю, как отобразить вопросы и соответствующие параметры на одной странице и получить идентификатор вопроса и выбранные параметры. Я пытаюсь использовать реактивные формы для этого метода. Мой код ниже.
checklistform.component.html
<form [formGroup]="CheckListForm">
<div class="form-group">
<label class="center-block"> Name:
<input class="form-control" formControlName = "name">
</label>
</div>
<div class="form-group">
<label class="center-block"> Employement Type:
<input class="form-control" formControlName = "EmploymentType">
</label>
</div>
<div class="form-group">
<label class="center-block"> HRMS:
<input class="form-control" formControlName = "HRMS">
</label>
</div>
<div class="form-group">
<label class="center-block"> CompanyName:
<input class="form-control" formControlName = "CompanyName">
</label>
</div>
<div formArrayName="questions" class="well well-lg">
<div *ngFor="let question of questions.controls; let i=index"
[formGroupName]="i" >
<div class="form-group">
//template for questions and options must be listed
here.
Это мой файл .ts.
checklistform.component.ts
import { ChecklistService } from './../service/checklist.service';
import { Component, OnInit,OnChanges } from '@angular/core';
import { FormGroup,
FormBuilder,
FormArray,
FormControl,
Validators, } from '@angular/forms';
@Component({
selector: 'app-check-list-form',
templateUrl: './check-list-form.component.html',
styleUrls: ['./check-list-form.component.css']
})
export class CheckListFormComponent implements OnInit, OnChanges{
CheckListForm: FormGroup;
Questions: any = [];
constructor(private fb: FormBuilder,
private checklistservice: ChecklistService) {
this.CreateForm();
}
ngOnInit() {
this.checklistservice.getQuestions(1).subscribe(res => this.Questions =
res); }
ngOnChanges() {
}
CreateForm() {
this.CheckListForm = this.fb.group({
name: ['', Validators.required],
EmploymentType: ['', Validators.required],
HRMS: ['', Validators.required],
CompanyName:'',
questions: this.fb.array([
this.fb.group({
ques: ['', Validators.required],
choices: ['', Validators.required]
})
])
})
}
get questions(): FormArray {
return this.CheckListForm.get('questions') as FormArray;
}
}
Пожалуйста, помогите. Я попытался выполнить поиск в Интернете, но не могу найти решение.