Я хочу сделать Реактиев Форму со значениями, взятыми из другого Компонента.Для передачи данных в Компонент я использую @ Input.
Например:
import { Component, OnInit, Input } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
...
})
export class GetData implements OnInit {
@Input() dataToPass: DataOne;
myForm: FormGroup;
ngOnInit() {
this.myForm = this.fb.group({
name: ['', [Validators.required]],
... }
}
Я хочу видеть в HTML форму с данными, переданными во Input.
Is itвозможно?Куда мне передавать данные в форму?
Новый код, после ваших подсказок:
ngOnChanges(changes: SimpleChanges) {
console.log(changes);
if (changes['this.dataToPass'] && changes['this.dataToPass'].currentValue) {
console.log('change');
}
if (changes['this.dataToPass'].firstChange === true) {
console.log('Change is seen');
}
}
Первое условие неверно.Во-вторых, я получаю сообщение об ошибке: ОШИБКА TypeError: Невозможно прочитать свойство 'firstChange' из неопределенного.
Следующий код:
if (changes['dataToPass'].firstChange && changes['dataToPass']) {
console.log('Change is seen');
console.log(this.dataToPass.firstName);
}
Что я получаю: "ОШИБКА TypeError: Невозможно прочитать свойствоfirstName of undeifined. "
Похоже, что ввод происходит после таких изменений.
Следующий код:
if (changes['dataToPass'].firstChange && changes['dataToPass']) {
console.log('Change is seen');
console.log(this.dataToPass);
}
И, к несчастью, я получаю информацию, что он не определен.Так что это не работает так, как должно.