Угловое излучение стирает входные значения дочернего компонента

#angular #forms #form-control #emit

Вопрос:

У меня есть несколько вложенных компонентов с входными данными, которые должны передавать входные данные своему родителю, но когда это происходит, похоже, что весь компонент сбрасывается, и все поля обратной связи и ввода стираются.

Есть ли способ предотвратить это?

Вот как я хотел бы, чтобы это выглядело при отправке данных. Как бы мне хотелось, чтобы это было

Но вот как это выглядит.. Не работает так, как я хочу

Это кнопка:

 <app-button [text]="'Lagre'" (click)="lagre()"></app-button>
 

Он вызывает этот метод:

 lagre() {
    if (!this.firstname.hasError('required') amp;amp;
        !this.lastname.hasError('required') amp;amp;
        !this.email.hasError('required') amp;amp;
        !this.address.hasError('required') amp;amp;
        !this.city.hasError('required') amp;amp;
        !this.zipCode.hasError('required') amp;amp;
        !this.firstname.hasError('pattern') amp;amp;
        !this.lastname.hasError('pattern') amp;amp;
        !this.email.hasError('email') amp;amp;
        !this.address.hasError('pattern') amp;amp;
        !this.city.hasError('pattern') amp;amp;
        !this.zipCode.hasError('pattern')
    ) {
        this.kunde = new Kunde(
        this.firstname.value,
        this.lastname.value,
        this.email.value,
        this.address.value,
        this.city.value,
        this.zipCode.value,
        this.reisende.voksen);
        this.data = {
            'kunde': this.kunde,
            'index': this.index
        }
        this.lagreEmitter.emit(this.data);
        this.errorVariant = 'success'
        this.error = 'Personalia ble lagret!'
    } else {
        this.errorVariant = 'danger'
        this.error = 'Kunne ikke lagre personalia!'
    }
}