Я не могу заставить форму отображаться при передаче строки JSON в качестве переменной. Если я вставляю строку в HTML, она работает нормально. Очень смущенный. Мой HTML:
<formio [form]="form" (submit)="onSubmit($event)"></formio>
Я предварительно загружаю JSON и извлекаю данные маршрута. Мой компонент:
export class FormIOViewerComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
form:string='';
onSubmit(submission: any) {
console.log(submission);
}
ngOnInit() {
this.form=this.route.snapshot.data.Fields;
console.log(this.form)
}
}
Строка JSON выводится на консоль перед ошибкой, и снова я могу скопировать и вставить строку JSON, напечатанную с консоли, в HTML, и она отображается нормально. Ошибка в Chrome:
form-ioviewer.component.html:1 ERROR TypeError: Cannot read property '1' of null
at new Formio (Formio.js:213)
at Form.setForm (Form.js:185)
at new Form (Form.js:106)
at FormioComponent.push../node_modules/angular-formio/FormioBaseComponent.js.FormioBaseComponent.createRenderer (FormioBaseComponent.js:90)
at FormioComponent.push../node_modules/angular-formio/FormioBaseComponent.js.FormioBaseComponent.setForm (FormioBaseComponent.js:111)
at FormioBaseComponent.js:402
at ZoneDelegate.invoke (zone-evergreen.js:359)
at Zone.run (zone-evergreen.js:124)
at NgZone.runOutsideAngular (core.js:39572)
at FormioComponent.push../node_modules/angular-formio/FormioBaseComponent.js.FormioBaseComponent.ngOnChanges (FormioBaseComponent.js:398)