Я создал динамическую форму, следуя инструкциям в angular cookbook, а затем попытался создать форму с метаданными, которые у меня есть в моей базе данных.Динамическая форма Angular2 с удаленными метаданными
Я сделал HTTP-запрос к типам полей, именам, идентификаторам и т. Д., Но когда я пытаюсь построить форму, как в угловом примере, ничего не происходит или я получаю ошибки на консоли.
Вот код из учебника:
export class AppComponent {
questions: any[];
constructor(service: QuestionService) {
this.questions = service.getQuestions();
}
}
И это то, что я сделал:
export class AppComponent implements OnInit {
campos: any[] = [];
constructor(private servico: FormDadosService) {}
ngOnInit() {
this.servico.getCampos().subscribe(this.processaCampos);
}
processaCampos(dados) {
for (let i = 0; i < dados.length; i++) {
this.campos.push(new CampoBase({
nome: dados[i].ZI2_NOME,
label: dados[i].ZI2_DESC,
ordem: dados[i].ZI2_ORDEM,
obrigatorio: dados[i].ZI2_OBRIGAT,
tamanho: dados[i].ZI2_TAM,
valor: '',
tipoCampo: dados[i].ZI2_TIPO
}))
}
}
}
Я получаю эту ошибку:
error_handler.js:50EXCEPTION: Cannot read property 'push' of undefined
Я думаю, что мне нужно знать способ визуализации формы после того, как все данные о ней появились из моего HTTP-запроса.
Какие ошибки вы получаете? Можете ли вы включить соответствующую часть своего кода? – user2314737
google сделал: класс экспорта AppComponent { вопросы: any []; конструктор (услуга: QuestionService) { this.questions = service.getQuestions(); } } –
и я: класс экспорта AppComponent реализует OnInit { campos: any [] = []; конструктор (частный servico: FormDadosService) {} ngOnInit() {this.servico.getCampos(). Подписаться (this.processaCampos); } processaCampos (Dados) { для (пусть я = 0; я