嘿,我知道这个问题很多,但正常的修复方法不起作用。
这是我的代码
export class CourseReviewFormComponent implements OnInit {
form: FormGroup
questionnaire: string[] = [];
currentQuestionsValue: string[] = [];
constructor(private serverData: ServerService) { }
ngOnInit() {
this.onGetForm();
}
onGetForm() {
this.serverData.getData('questionnaire/Student Course Review')
.subscribe(
(response: Response) => {
this.questionnaire = response.json();
let key = Object.keys(this.questionnaire);
for (let i = 0; i < key.length; i++) {
this.currentQuestionsValue.push(this.questionnaire[key[i]].items)
}
console.log('current Questions Value', this.currentQuestionsValue);
},
(error) => console.log('Form Error', error)
)
}
}
我的模板
<form>
<div *ngFor="let data of currentQuestionsValue">
<strong> {{ data.sno }}). </strong>
<span>{{ data.question}}</span>
<div>
<label *ngFor="let op of data.options; let i = index">
<input type="radio" name="option" [value]="i">
<span>{{ op }}</span>
</label>
</div>
</div>
</form>
但ngFor不显示任何数据:
在console.log('current Value', this.currentValue);
中效果很好。
答案 0 :(得分:1)
你需要得到一个数组的第一项并迭代它的值,这也是一个数组。
在ServerService
我会添加中间步骤来转换像这样的observable:
.map(data => data.json())
.map(json => json[0])
答案 1 :(得分:0)
你在找这个吗??
let data of currentQuestionsValue[0]