我试图从变量中提取数据并在函数内部使用它来生成Angular Form。我在模板中绑定了Data变量和Form变量,只是为了在构建时看到它,但在Forms变量中没有任何事情发生,而控制台中没有出现任何错误。
这是我的组件
@Component({
moduleId : module.id,
selector : 'questionnaire-page',
templateUrl : './questionnaire.component.html',
providers : [ QuestionService ]
})
export class QuestionnairePage implements OnInit, OnChanges{
Data : QuestionnaireBody= new QuestionnaireBody();
Questionnaire: FormGroup;
Submitted: boolean = false;
constructor(private _qs: QuestionService, private fb: FormBuilder) {
this.Questionnaire = this.fb.group({ sections: this.fb.array([]) });
this.buildQuestionnaire();
}
buildQuestionnaire(){
let load = this.Data.sections;
load.forEach( sect => {
let grpA: new FromGroup = { name: sect.name, questions: this.fb.array([]) };
let targetA = this.Questionnaire.sections;
sect.questions.forEach(quest =>{
let grpB: new FormGroup = { question: quest.question, id: quest.id, name: quest.name };
let targetB = grpA.questions;
targetB.addControl(grpB, new FormGroup() );
});
targetA.addControl(grpA, new FormGroup());
});
}
ngOnInit() {
this._qs.getData().subscribe( data => {this.Data = data});
}
ngOnChanges(){}
}
除了在this.fb.group()
替换new FormGroup()
在不同的地方并应用我自己的自定义类的组合(例如FormGroup<myClass>
或{}之外,我还没有做过多次合理化的尝试。 {1}}没有一个产生任何差异或产生任何错误。我的自定义类看起来像这样
myClass<FormGroup>
我真的不知道从哪里开始。