Angular Two-Way-Databind - Изменение значения - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть одна форма со входом.

<form #modelContrato="ngForm" role="form" >
<input [(ngModel)]="modelContrato.numero" id="numero" class="form-control" name="numero" type="text" autocomplete="off" placeholder="Número Contrato"
                                        #numero="ngModel" required />

На моем component.ts у меня есть эти строки.

@Input() modelContrato: Contrato;

В конструкторе

this.modelContrato = {} as Contrato;

ngOnInit

this.modelContrato.numero = '10';

пс: Contrato - это модель. Нравится

export interface Contrato {
    id: string;
    contratoPrincipalId: string;
    numero: string;
}

Почему мой ввод не меняет значение de, переданное в OnInit?

1 Ответ

0 голосов
/ 26 апреля 2018

Общее решение: используйте @ViewChild для ссылки на элемент. https://angular.io/api/core/ViewChild

Ваше личное решение проблемы: просто создайте поле в вашем компоненте

const modelContrato: Contrato;

, поскольку двусторонний [(ngModel)]="modelContrato.numero" связывается с атрибутом NumberContratoto Numberro со значением элемента ввода

Почему ваш код не работает: вы ошиблись, когда input Элемент был связан с декоратором @input. Декоратор @input предназначен для передачи свойств от предка к наследующим компонентам. https://angular.io/guide/component-interaction

...